• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ)

Excel VBAを使って複数のセルを別のシートへコピー&ペーストする方法

このQ&Aのポイント
  • Excel VBAを使用すると、複数の離れたセルをコピーして別のシートへリンク付け貼り付けを実行することができます。
  • コピー元のセルと貼り付け先のセルのフォーマットが異なる場合でも、VBAを使ってセルのコピーと貼り付けを自動化できます。
  • マクロを作成しておくことで、同じ作業を繰り返し行う必要がなくなり、効率的にデータを処理することができます。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

その後の補足が無いということは、上手くいっているということでしょうか? 同一ブック内でリンク貼り付けを「マクロの記録」して得られたコードを編集してみました。 Sub testリンク貼り付け1()   Dim rc As Range   Dim rp As Range   Dim i As Long      Set rc = Sheets("Sheet1").Range("A1, B2, C3, D4:F4")   Set rp = Sheets("Sheet2").Range("E1, F2, G3, B4:D4")   Sheets(rp.Parent.Name).Select   For i = 1 To rc.Areas.Count     rc.Areas(i).Copy     rp.Areas(i).Select     ActiveSheet.Paste link:=True   Next i   Application.CutCopyMode = False End Sub もう一例、リンク貼り付けではなく、リンク式を入力してみました。 Sub testリンク式1()   Dim rc As Range   Dim rp As Range   Dim i As Long      Set rc = Sheets("Sheet1").Range("A1, B2, C3, D4:F4")   Set rp = Sheets("Sheet2").Range("E1, F2, G3, B4:D4")   For i = 1 To rc.Areas.Count     rp.Areas(i).Formula = _       "=" & rc.Parent.Name & "!" & rc.Areas(i).Item(1).Address(False, False)   Next i End Sub

HNK1001
質問者

お礼

御礼が遅くなってしまい申し訳ございませんでした。 教えていただきましたリンク式を試してみたところ、同一ブッックで希望通りの結果を得られました。 もしよろしければ、別ブックの場合を教えていただけますでしょうか? 例えば「C:\Book1.xls」の(Sheet1)のセル(A1, B2, C3, D4:F4)をコピーし、「C:\test\Book2.xls」の(Sheet2)のセル(E1, F2, G3, B4:D4)へリンク貼付けを行う場合の記述は、どのようになりますか? 度々お手数お掛けして大変恐縮ではございますが、宜しくお願い致します。

HNK1001
質問者

補足

例えば「C:\Book1.xls」の(Sheet1)のセル(A1, B2, C3, D4:F4)をコピーし、「C:\test\Book2.xls」の(Sheet2)のセル(E1, F2, G3, B4:D4)へリンク貼付けを行う場合の記述は、どのようになりますか? 度々お手数お掛けして大変恐縮ではございますが、宜しくお願い致します。

その他の回答 (3)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

相対的なセルを参照する(Offsetプロパティ) http://www.moug.net/tech/exvba/0050091.htm 上記ページを参考にしてください。 上手くいかない場合、書かれたコードを提示してください。 エラーがでるなら、エラーコードと内容も合わせて教えてください。 A1,B2,C3 と E1,F2,G3 D4:F4 と B4:D4 ではOffset量が違っているので注意してください。 # 先に回答されているhige_082さんの提案は無視ですか?

HNK1001
質問者

お礼

早々のご回答をありがとうございました。 早速、参考にさせていただき試してみますね。 また質問等をさせていただくこともあるかと思いますが、宜しくお願い致します。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

D4:F4 と B4:F4 の形(セル数)が違っているのでコピーできないと思います。 どちらかが間違っているのでしょうか? 形が同じなら、Offsetしてやれば良いとおもいます。

HNK1001
質問者

補足

ご指摘ありがとうございます。 記載間違いで、正しくは「D4:F4 → B4:D4」となります。 大変失礼いたしました。 よろしければ、offsetの記述例を教えて頂けると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

質問の手順をマクロの記録で記録してみては 詳しい操作は「マクロの記録」で検索してみてください 沢山のサイトで説明されています

HNK1001
質問者

お礼

早々のご回答をありがとうございました。 手動で1セルずつ地道に「マクロの記録」をする方法もありますね。

関連するQ&A