[[20060807162450]] 『マクロがうまく動かない』(たか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロがうまく動かない』(たか)

自動記録で作業しています。自分のPCでは上手く動くのですが、他のPCだとエラーメッセージが出て、デバッグするよう求められます。

内容の解読が困難なので、デバッグするよう求められた行周辺と、黄色くなった部分を貼り付けしますので、どなたか原因の究明をお願いします。

実行時エラー'1004':

コピー領域と貼り付け領域の形が違うため情報を貼り付けることができません。

情報を貼り付けするには、次のいずれかの操作を行ってください。

?1つのセルをクリックし貼り付けてみてください。

?貼り付け元の形を確かめ、適切な範囲を選択したあと貼り付けてみてください。

    Range("B4:CY82").Select
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B110:DA110").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("B110:DA186"), Type:=xlFillDefault
    Range("B108:DA186").Select
    Selection.Copy
    Range("B108").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B214:DE214").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("B214:DE290"), Type:=xlFillDefault
    Range("B212:DE290").Select
    Selection.Copy
    Range("B212").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

下記の部分がデバッグで黄色くなっている部分です。

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
よろしくお願いします。

[エクセルのバージョン]Excel2003 [OSのバージョン]WindowsXP


 貼り付け先のセルが結合されていませんか?
 (nak)


 衝突〜☆
 以下そのままUP
 
 >他のPCだとエラーメッセージが出て、デバッグするよう求められます。
 他のPCでは、セルが結合等がされていないでしょうか?

 同じ場所に、値のみで反映させたいのかな?
 
 であれば、
 >   Range("B4:CY82").Select
 >   Selection.Copy
 >   Range("B4").Select
 >   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 >       :=False, Transpose:=False
 >   Range("B110:DA110").Select
 >   Application.CutCopyMode = False
 この部分を
 Range("B4:CY82").Value = Range("B4:CY82").Value 
 にしてみるとどうでしょう?
 
 (キリキ)(〃⌒o⌒)b


変更してみましたが、
RangeクラスのAutoFillメソッドが失敗しました

と出ました。

コピーの範囲をセルの結合していないB6に変更しました。

(たか)


 ごめんなさい。
 >   Range("B110:DA110").Select
 >   Application.CutCopyMode = False
 >   Selection.AutoFill Destination:=Range("B110:DA186"), Type:=xlFillDefault
 この部分を考えていませんでした。。。
 
With Range("B4:CY82")
    .Value = .Value
End With
Range("B110:DA110").AutoFill Destination:=Range("B110:DA186"), Type:=xlFillDefault
 
 上記の作業を繰り返しているようですので、こんな感じで複数回するのはいかがでしょう?
 (キリキ)(〃⌒o⌒)b

では、

    Range("B214:DE214").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("B214:DE290"), Type:=xlFillDefault
    Range("B212:DE290").Select
    Selection.Copy
    Range("B212").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

の部分は

Range("B212:DE212").AutoFill Destination:=Range("B212:DE290"), Type:=xlFillDefault

でよろしいのでしょうか

(たか)


 >Range("B212:DE212").AutoFill Destination:=Range("B212:DE290"), Type:=xlFillDefault
 >でよろしいのでしょうか
 試した結果どうだったのでしょう?
 Range("B212:DE290") のセル範囲は、Range("B214:DE290") では無いくてもいいのかしら?
 
 (キリキ)(〃⌒o⌒)b


(B214:DE214)を290までコピーして

上のセルの(B212:DE290)ごとコピーして値を同じところに貼り付けたいのですが、
再び RangeクラスのAutoFillメソッドが失敗しました  と出ました。

(たか)


 こちらではいかがです?
 
Sub TEST()
    With Range("B4:CY82")
        .Value = .Value
    End With
    Range("B110:DA110").AutoFill Destination:=Range("B110:DA186"), Type:=xlFillDefault
    With Range("B108:DA186")
        .Value = .Value
    End With
    Range("B214:DE214").AutoFill Destination:=Range("B214:DE290"), Type:=xlFillDefault
    With Range("B212:DE290")
        .Value = .Value
    End With
End Sub
 
 (キリキ)(〃⌒o⌒)b

うまくいきました。
ありがとうございました。

(たか)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.