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

【VBA】別シートのデータを転記する方法

Excel VBAを利用して、一つのシートから別のシートへデータを抽出して転記するプロセスは、データの整理やレポート作成に非常に役立ちます。以下のステップに従って、データを効率的に移動させる方法を説明します。

Excel VBAで別シートのデータを抽出して転記する方法

1: ワークシートの設定

データを抽出する元のシートと、データを転記する先のシートを設定します。

Sub ExtractAndTransferData()

Dim sourceWs As Worksheet
Set sourceWs = ThisWorkbook.Sheets("SourceSheet")
Dim targetWs As Worksheet
Set targetWs = ThisWorkbook.Sheets("TargetSheet")

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

データが存在する範囲を確認し、その範囲を基にデータを抽出します。【VBA】Rowsの基本的な使用方法・複数行を指定(数字・変数)・最終行取得

Dim lastRow As Long
lastRow = sourceWs.Cells(sourceWs.Rows.Count, "A").End(xlUp).Row
Dim outputRow As Long
outputRow = 1 ' 転記先シートの開始行

3: 条件に基づくデータの抽出と転記

条件に基づいてデータを抽出し、転記先のシートにデータを転記します。
・A列に”Criteria”という文字があること

Dim i As Long
For i = 1 To lastRow

' 条件例: 第一列の値が特定の条件を満たす場合
If sourceWs.Cells(i, 1).Value = "Criteria" Then

' 条件に一致する場合、転記
targetWs.Cells(outputRow, 1).Value = sourceWs.Cells(i, 1).Value
targetWs.Cells(outputRow, 2).Value = sourceWs.Cells(i, 2).Value
targetWs.Cells(outputRow, 3).Value = sourceWs.Cells(i, 3).Value
outputRow = outputRow + 1

End If

Next i

End Sub

【VBA】別ファイルにデータ抽出する方法

■コード解説

  • データ範囲の特定
    最後のデータ行を特定して、適切な範囲内でデータを処理します。
  • 条件に基づくデータ抽出
    Ifステートメントを用いて条件を評価し、条件に合致するデータのみを選択します。
  • データの転記
    条件に合致したデータをターゲットシートの指定した行に転記します。各セルから値を取得し、ターゲットシートの対応するセルに値を設定します。

まとめ

この方法を使用することで、複数のシートに分散しているデータを集中的に管理し、必要に応じて選択的にデータを移動させることが可能になります。これにより、データの整理やアクセスが効率化され、報告や分析作業が大幅に簡易化されます。

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