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

【VBA】値を抽出する方法

Excel VBAを利用して特定の条件を満たすデータを抽出することは、データ分析、レポート作成、またはデータの整理において重要です。VBAを使用してデータを条件付きで抽出し、別の場所に出力する方法を説明します。

Excel VBAで値を抽出する方法

1: ワークシートの設定

データが含まれているワークシートを指定し、データを抽出する範囲を定義します。

Sub ExtractData()

Dim sourceWs As Worksheet
Set sourceWs = ThisWorkbook.Sheets("DataSheet")
Dim outputWs As Worksheet
Set outputWs = ThisWorkbook.Sheets("OutputSheet")

データが含まれるシート(DataSheet)と、抽出したデータを出力するシート(OutputSheet)を設定しています。

2: ループ処理と条件チェック

特定の列に基づいてデータをチェックし、条件に合致する場合にその値を別のシートに転記します。

Dim lastRow As Long
lastRow = sourceWs.Cells(sourceWs.Rows.Count, 1).End(xlUp).Row
Dim i As Long, outputRow As Long
outputRow = 1 ' 出力開始行

For i = 1 To lastRow

If sourceWs.Cells(i, 1).Value = "SpecificCondition" Then

' 条件に一致する行の値を出力シートに転記
outputWs.Cells(outputRow, 1).Value = sourceWs.Cells(i, 2).Value
outputRow = outputRow + 1

End If

Next i

End Sub

■コード解説

  • 最終行の取得
    sourceWs.Cells(sourceWs.Rows.Count, 1).End(xlUp).Rowを使用して、データが存在する最後の行を取得します。【VBA】Rowsの基本的な使用方法・複数行を指定(数字・変数)・最終行取得
  • 条件に基づくデータの抽出
    If sourceWs.Cells(i, 1).Value = "SpecificCondition" Thenを使用して、特定の条件(この例ではセルの値が"SpecificCondition"に一致するかどうか)をチェックします。
    条件に一致する場合、その行の別の列のデータを出力シートにコピーします。
  • データの転記
    outputWs.Cells(outputRow, 1).Value = sourceWs.Cells(i, 2).Valueを使用して、条件に合致したデータをOutputSheetの指定された位置に転記します。

まとめ

Excel VBAを使用して条件に基づいてデータを抽出する方法は、大量の情報から関連データを効率的に分離し、それを整理・分析するための強力なツールです。この技術をマスターすることで、業務の自動化とデータ処理の精度を向上させることができます。

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