Excel VBAを使用して、セルの値が一致する場合にデータを別の場所に転記するプロセスは、データの整理や更新タスクを自動化するのに有効です。具体的なセル比較とデータ転記の手順を説明します。
Excel VBAでセル比較に基づいてデータを転記する方法
1: ワークシートの設定
作業に必要なワークシートを定義し、抽出元と転記先のシートを設定します。
Sub CopyDataOnMatch()
Dim sourceWs As Worksheet
Set sourceWs = ThisWorkbook.Sheets("SourceSheet")
Dim targetWs As Worksheet
Set targetWs = ThisWorkbook.Sheets("TargetSheet")
2: データの比較と転記
セルの値を比較し、一致した場合にのみ特定のデータを転記するためのループを設定します。
サンプルコードでは、A列が以下の条件を満たしている場合にB列の値を転記します。
・A列に”SpecificKeyword”の値があること
Dim lastRow As Long
lastRow = sourceWs.Cells(sourceWs.Rows.Count, "A").End(xlUp).Row
Dim outputRow As Long
outputRow = 1 ' 転記先シートの開始行
Dim i As Long
For i = 1 To lastRow
' セルの値が一致するかチェック(例: A列の値が特定のキーワードと一致)
If sourceWs.Cells(i, 1).Value = "SpecificKeyword" Then
' 一致した場合、B列のデータを転記
targetWs.Cells(outputRow, 1).Value = sourceWs.Cells(i, 2).Value
outputRow = outputRow + 1
End If
Next i
End Sub
■コード解説
- 最終行の取得
抽出元シートのデータが存在する最後の行を特定します。【VBA】Rowsの基本的な使用方法・複数行を指定(数字・変数)・最終行取得 - 条件に基づくデータ転記
Ifステートメントを使用して、特定の列(この例ではA列)のセル値が指定したキーワードと一致するかを確認します。
一致する場合、関連するデータ(この例ではB列のデータ)をターゲットシートに転記します。 - 転記行の更新
転記先の行番号を更新し、次の一致データを正しい位置に配置します。
まとめ
セルの値を比較して一致した場合にデータを転記する方法は、Excel VBAを使ったデータ管理作業において非常に効率的です。このプロセスを自動化することで、手作業によるエラーを削減し、作業の正確性と速度を向上させることが可能です。条件の正確な設定とループ処理の効率化が、エラーが起こりにくいツールになります。