- ベストアンサー
Excel VBAを使って複数のセルを別のシートへコピー&ペーストする方法
- Excel VBAを使用すると、複数の離れたセルをコピーして別のシートへリンク付け貼り付けを実行することができます。
- コピー元のセルと貼り付け先のセルのフォーマットが異なる場合でも、VBAを使ってセルのコピーと貼り付けを自動化できます。
- マクロを作成しておくことで、同じ作業を繰り返し行う必要がなくなり、効率的にデータを処理することができます。
- みんなの回答 (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
その他の回答 (3)
- xls88
- ベストアンサー率56% (669/1189)
相対的なセルを参照する(Offsetプロパティ) http://www.moug.net/tech/exvba/0050091.htm 上記ページを参考にしてください。 上手くいかない場合、書かれたコードを提示してください。 エラーがでるなら、エラーコードと内容も合わせて教えてください。 A1,B2,C3 と E1,F2,G3 D4:F4 と B4:D4 ではOffset量が違っているので注意してください。 # 先に回答されているhige_082さんの提案は無視ですか?
お礼
早々のご回答をありがとうございました。 早速、参考にさせていただき試してみますね。 また質問等をさせていただくこともあるかと思いますが、宜しくお願い致します。
- xls88
- ベストアンサー率56% (669/1189)
D4:F4 と B4:F4 の形(セル数)が違っているのでコピーできないと思います。 どちらかが間違っているのでしょうか? 形が同じなら、Offsetしてやれば良いとおもいます。
補足
ご指摘ありがとうございます。 記載間違いで、正しくは「D4:F4 → B4:D4」となります。 大変失礼いたしました。 よろしければ、offsetの記述例を教えて頂けると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。
- hige_082
- ベストアンサー率50% (379/747)
質問の手順をマクロの記録で記録してみては 詳しい操作は「マクロの記録」で検索してみてください 沢山のサイトで説明されています
お礼
早々のご回答をありがとうございました。 手動で1セルずつ地道に「マクロの記録」をする方法もありますね。
お礼
御礼が遅くなってしまい申し訳ございませんでした。 教えていただきましたリンク式を試してみたところ、同一ブッックで希望通りの結果を得られました。 もしよろしければ、別ブックの場合を教えていただけますでしょうか? 例えば「C:\Book1.xls」の(Sheet1)のセル(A1, B2, C3, D4:F4)をコピーし、「C:\test\Book2.xls」の(Sheet2)のセル(E1, F2, G3, B4:D4)へリンク貼付けを行う場合の記述は、どのようになりますか? 度々お手数お掛けして大変恐縮ではございますが、宜しくお願い致します。
補足
例えば「C:\Book1.xls」の(Sheet1)のセル(A1, B2, C3, D4:F4)をコピーし、「C:\test\Book2.xls」の(Sheet2)のセル(E1, F2, G3, B4:D4)へリンク貼付けを行う場合の記述は、どのようになりますか? 度々お手数お掛けして大変恐縮ではございますが、宜しくお願い致します。