プロが教えるわが家の防犯対策術!

Excel VBA での Copy,Paste の質問です。

Range("B2:D6")を Range("F2:H6")にコピペしようとしています。

Sub コピペ_100()
 Range("B2:D6").Copy
 Range("F2").PasteSpecial Paste:=xlPasteAll
End Sub

としましたが、列幅に変化がありません。

Sub コピペ_200()
Range("B2:D6").Copy
Range("F2").PasteSpecial Paste:=xlPasteAll, _
Paste:=xlPasteColumnWidths
End Sub

としましたが変化なしです。

質問① どうすれば列幅を含め、全く同じにコピペできますか。
質問② PasteSpecial の複数の引数設定は間違いですか?

宜しくお願いします。

「Excel VBA の Copy,Pas」の質問画像

A 回答 (2件)

こんばんは



>PasteSpecial の複数の引数設定は間違いですか?
同じ引数(=Paste)に値を複数セットしようとしても、無理があります。
2センテンスに分ければ可能です。

 Range("F2").PasteSpecial xlPasteColumnWidths
 Range("F2").PasteSpecial Paste:=xlPasteAll
    • good
    • 0
この回答へのお礼

複数の引数を1行で書くのは無理ということですね。
わかりました。
おっしゃる通りやってみました。
うまくいきました。
ありがとうございました。

お礼日時:2021/10/19 21:25

Range("B:D").Copy Range("F1")



6行目以上にコピペしたくない箇所があるなら別ですが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おっしゃる通りBD列の6行目以降に別表がありまして、これでコピーするとまずいです。
この表だけをコピーする方法が知りたいです。

お礼日時:2021/10/19 20:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!