- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜ張り付けは、「セルを指定+.Paste」ではだ)
VBAでの張り付けでなぜ「セルを指定+.Paste」はだめなのか?
このQ&Aのポイント
- VBAでセルを指定して動作を行う方法を学んでいるが、張り付けの際にRange("A1").Pasteがエラーになる理由が分からない。
- Copyメソッドを使用してセルをコピーすることはできるが、Pasteメソッドが存在しないため、エラーが発生する。
- PasteSpecialメソッドを使用することで張り付けが可能であることが確認されている。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
オブジェクトブラウザでpasteを検索して確認してみると、pasteはワークシートオブジェクト他の配下にあるメソッドであることが分かります。 正しい書き方その1) range("A1").copy range("A2").pastespecial 正しい書き方その2) range("A1").copy range("A2").select activesheet.paste 正しい書き方その3) range("A1").copy activesheet.paste destination:=range("A2") 正しい書き方その4) range("A1").copy destination:=range("A2") コピーするときは「これをコピーする」と指定してコピーしますが、貼り付ける際には「何がコピーされてきたのを」貼り付けようとしているのかは保証されない(たとえば「図形」をコピーしたのを貼りつけるのもpasteです)ので、シートなどで受ける設計になっていると考えるのが妥当です。
お礼
ありがとうございました。大変参考になりました。