VBAで繰り返し印刷する方法|変数を使ってセル範囲をコピーする方法

Visual Basic

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を使った効率的な作業方法を学んでいきましょう。

コメント

タイトルとURLをコピーしました