VBAで自動化 VBA一覧 セル・値の取得と貼り付け 取得

【VBA】別シートのセルの値を取得:ループ処理

Excel VBAを使用して別のシートからデータを取得する際、特定のシート範囲をループ処理で読み取ることが多くのアプリケーションで求められます。別のシートからデータを効率的に取得する方法を説明します。

別シートの値をループ処理で取得する方法

1:ワークシートオブジェクトの設定

データを取得したいシートを正確に指定します。

Sub RetrieveDataFromAnotherSheet()

Dim sourceSheet As Worksheet
Set sourceSheet = ThisWorkbook.Sheets("SourceSheet")

sourceSheet変数を使用して、データの読み取り元となるシート(この例では"SourceSheet"と名付けられたシート)を設定しています。

2:データの範囲と最終行の特定

データが存在する範囲と、読み取りを開始および終了する行を特定します。

Dim lastRow As Long
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, 1).End(xlUp).Row

sourceSheet.Rows.Countはシートの最後の行番号を返し、End(xlUp)は指定された列(この例では1列目)から上に向かって最初の非空白セルを見つけ、その行番号をlastRowに格納します。【VBA】For文:空白行まで繰り返す処理方法

3:ループ処理でのデータ取得

データを格納するための変数を宣言し、ループ処理で各行のデータを取得します。

Dim i As Long
For i = 1 To lastRow

Debug.Print sourceSheet.Cells(i, 1).Value ' 例として1列目のデータを出力

Next i

End Sub

このループは1行目からlastRowまでのデータを読み取り、イミディエイトウィンドウに各行の値を表示します。
この例では1列目のデータを取得していますが、必要に応じて他の列からのデータ取得も同様の方法で行えます。

まとめ

別のシートからデータを取得する際、VBAのループ処理はデータ分析やレポート作成など多岐にわたる作業を自動化するのに非常に有効です。
この方法をマスターすることで、複数のデータソースを扱う際の柔軟性と効率が向上します。

-VBAで自動化, VBA一覧, セル・値の取得と貼り付け, 取得