VBAで自動化 VBA一覧 比較 配列・データ操作

【VBA】データ(値)が一致したら転記する方法

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を使ったデータ管理作業において非常に効率的です。このプロセスを自動化することで、手作業によるエラーを削減し、作業の正確性と速度を向上させることが可能です。条件の正確な設定とループ処理の効率化が、エラーが起こりにくいツールになります。

    -VBAで自動化, VBA一覧, 比較, 配列・データ操作