【VBA】結合されたセルの部分一致で転記する方法
手作業でのデータ入力は時間がかかるだけでなく、ミスのリスクも高まります。この記事では、結合されたセルを部分一致で自動的に転記するVBAマクロを作成し、業務効率化に貢献します。
サンプルコード
VBA
Option Explicit
Sub PartialMatchCopy()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Application.ScreenUpdating = False '画面更新を停止
Dim lastRow As Long, i As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow '仮にA列から始まるデータがあると想定
If Not IsEmpty(ws.Range("B" & i)) Then '部分一致対象のセルが空でない場合
Dim targetRange As Range, cell As Range
Set targetRange = ws.Range("C:C")
For Each cell In targetRange.Cells
If InStr(cell.Value, ws.Range("A" & i).Value) > 0 Then '部分一致判定
ws.Range("B" & i).Copy Destination:=cell.Offset(0, -1)
Exit For
End If
Next cell
End If
Next i
Application.ScreenUpdating = True '画面更新を再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。