VBAを使って、複数のセルを繰り返しコピー&貼り付けする方法に困っていませんか?特に、複数のセル範囲を自動的に操作し、別のワークシートに貼り付けるといった作業を効率的に行いたい場合があります。本記事では、VBAを使って変数を活用し、指定した範囲を繰り返し操作する方法を解説します。
VBAでの繰り返し処理の基本構造
VBAを使って繰り返し処理を行うには、For文やDo While文などを使用します。これらの文を利用することで、同じ操作を複数回実行することができます。今回は、セル範囲を繰り返しコピー&貼り付けする方法を例に、For文を使って繰り返し処理を実現します。
具体的なコード例
まず、あなたが挙げたコードを少し変えて、セル範囲を繰り返し処理する方法を紹介します。
Dim wb_moto As Workbook
Dim wb_saki As Workbook
Set wb_moto = Workbooks.Open("東日本.xlsm")
Set wb_saki = Workbooks.Open("西日本.xlsx")
Dim i As Integer
For i = 64 To 70
wb_moto.Worksheets(1).Range("C" & i).Copy
wb_saki.Worksheets(1).Range("C6").Offset(i - 64, 0).PasteSpecial Paste:=xlPasteAll
wb_moto.Worksheets(1).Range("A" & i).Copy
wb_saki.Worksheets(1).Range("C7").Offset(i - 64, 0).PasteSpecial Paste:=xlPasteAll
Next i
wb.Worksheets(1).PrintOut
このコードでは、64行目から70行目までのセルを繰り返しコピー&貼り付けしています。変数を使って行番号を指定し、コピー&貼り付け処理を行っています。
コードの説明
上記のコードでは、For文を使って「C64」から「C70」までのセルを繰り返し操作しています。さらに、Offsetを使うことで、貼り付け先を動的に変更し、繰り返し貼り付けを実現しています。この方法を使うことで、1つ1つ手動でコピー&貼り付けをする手間を省くことができます。
まとめ
VBAを使用してセル範囲を繰り返しコピー&貼り付けする方法について解説しました。変数を使うことで、セル範囲を動的に指定でき、効率よく繰り返し処理を行うことができます。特に大量のデータを操作する際に、このような方法を使うと作業が大幅に短縮できます。今後もVBAを使った効率的な作業方法を学んでいきましょう。

コメント