• ベストアンサー

エクセルVBAの貼付けについて

エクセルVBAの貼付けについて シートAとBがあって、シートBの1~7列をコピーし、シートAの最終行に貼り付ける方法を教えて下さい。 下記のように書いてみたのですがダメでした。 Sheets("B").Select Rows("1:7").Select Selection.Copy Sheets("A").Select With Range("A1").End(xlDown).Offset(1, 0) .ActiveSheet.Paste End With

質問者が選んだベストアンサー

  • ベストアンサー
  • seastar3
  • ベストアンサー率69% (99/142)
回答No.2

4行目が .Select ではなく、.Activate を使うのがポイントです。 以下のコードでシートA上のコマンドボタンでも、シートB上のコマンドボタンでも正しく反応しました。 Sheets("B").Select Rows("1:7").Select Selection.Copy Sheets("A").Activate Range("A1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste また、もしシートBに移動してからこのマクロを終わりたければ、最後の行に Sheets("B").Activate と付け加えておきます。

acchandesu
質問者

お礼

Activateがポイントだったんですね。 勉強になりました。 ありがとうございました。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

以下のコードは参考になりませんか。 Sheets("B").Rows("1:7").Copy Sheets("A").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial

関連するQ&A