はじめに
経理業務では、日々大量のデータを扱うことが求められます。その中で、特定の列にあるデータが一致しているかどうかを確認する作業は頻繁に行われます。しかし、手作業で行うと時間がかかり、またヒューマンエラーの可能性もあります。そこで、この記事ではExcel VBAを使って、この作業を自動化する方法を紹介します。
VBAコード
以下に、Excel VBAを使ってデータの一致を確認するコードを示します。
Sub CompareData()
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim rng1 As Range, rng2 As Range
Dim lastRow1 As Long, lastRow2 As Long
Dim i As Long, j As Long
' ファイルを開く
With Application.FileDialog(msoFileDialogOpen)
.Show
If .SelectedItems.Count = 1 Then
Set wb1 = Workbooks.Open(.SelectedItems(1))
Set ws1 = wb1.ActiveSheet ' アクティブシートを選択
End If
End With
' 列を選択
Set rng1 = Application.InputBox("列を選択してください", Type:=8)
lastRow1 = ws1.Cells(ws1.Rows.Count, rng1.Column).End(xlUp).Row
' 2つ目のファイルを開く
With Application.FileDialog(msoFileDialogOpen)
.Show
If .SelectedItems.Count = 1 Then
Set wb2 = Workbooks.Open(.SelectedItems(1))
Set ws2 = wb2.ActiveSheet ' アクティブシートを選択
End If
End With
' 列を選択
Set rng2 = Application.InputBox("列を選択してください", Type:=8)
lastRow2 = ws2.Cells(ws2.Rows.Count, rng2.Column).End(xlUp).Row
' データを比較
For i = 1 To lastRow1
For j = 1 To lastRow2
If rng1.Cells(i, 1).Value = rng2.Cells(j, 1).Value Then
ws2.Cells(j, "CA").Value = "データ一致"
End If
Next j
Next i
' ワークブックを保存して閉じる
wb1.Close SaveChanges:=False
wb2.Close SaveChanges:=True
End Sub
まとめ
このVBAコードを使用することで、Excelの列間でデータの一致を自動的に確認し、一致した場合には”データ一致”と表示することができます。これにより、経理業務の効率化が図られます。ただし、このコードは基本的なものであり、エラーハンドリングなどは含まれていません。また、VBAマクロを使用する際は、必ず事前に重要なデータのバックアップを取るようにしてください。このコードは大量のデータに対しては時間がかかる可能性がありますので、その点もご了承ください。