VBAソリューション:ここでやっていることは、すべてのマスター番号をアレイに保存することです。次に、各領域のワークシートをループしています。領域内の各番号を調べて、マスター配列内の最後の4つの要素がその領域の番号と等しいかどうかを調べています。ブランク。最後に、私は空白でない数字を見つけるために配列を調べます(つまり、これらはいずれの地域にも存在しない数字です)。次にメッセージを出力します。
Sub findMissingNumbers()
Dim numbers() As String
With Worksheets("Master")
For i = 2 To .Range(.Cells(1, 1), .Cells(1, 1).End(xlDown)).Count
ReDim Preserve numbers(i)
numbers(i - 2) = .Cells(i, 1).Value
Next i
End With
For Each ws In Worksheets
With ws
If (Not ws.Name = "Master") Then
For Each cell In .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown))
For i = 0 To UBound(numbers) - 1
last4master = Right(numbers(i), 4)
If (last4master = CStr(cell.Value)) Then
numbers(i) = ""
End If
Next i
Next cell
End If
End With
Next ws
missingNumbers = ""
For Each num In numbers
If (Not num = "") Then
missingNumbers = missingNumbers & num & vbNewLine
End If
Next num
MsgBox missingNumbers
End Sub
私はあなたが必要とするものを十分に理解していません。それをより良く説明できますか? "4つのグローバルワークブックの列Aは、マスターリストの800番号のうち最後の4つを表します。これは "最後の4"とは何ですか?意味がありません。 – cullan
@cullanマスターリストには、800.111.1234の番号がすべて含まれています。地域のシートには、最後の4つ(XXX.XXX.1234)のみが含まれます。だから私は地域のシート上のすべての最後の4がマスターリストに存在することを確認する必要があります。 – Adam
ブックブックの例と希望の結果\シートのスクリーンショット – bzimor