Chcę, aby Excel VBA zwrócił w oknie komunikatu wszystkie elementy, które znajdują się w kolumnie A arkusza roboczego arkusza roboczego, ale nie znajdują się w kolumnie A arkusza dostawy Arkusz dostawy .
Mam problem z rozgryzieniem tego, oto co do tej pory mam:
Private Sub CommandButton5_Click()
Dim DeliveryName As Range
Dim MasterName As Range
Dim MasterSheet As Worksheet
Dim DeliverySheet As Worksheet
Dim valueToFind
Set MasterSheet = Sheets("Delivery Master List Drop")
Set DeliveryName = Sheets("For Delivery").Range(Sheets("For Delivery").Cells("A:A"))
Set MasterName = Sheets("Delivery Master List Drop").Range(Sheets("Delivery Master List Drop").Cells("A:A"))
For i = 3 To 3000
valueToFind = DeliveryName("i,1")
For Each MasterName In MasterSheet
If Not MasterName.Cells = valueToFind Then
MsgBox "The following name is not found in the Delivery Master List" & DeliveryName(i, 1).Value, vbExclamation
End If
Next MasterName
Next i
End Sub
Wolałbym, aby okno komunikatu zwróciło wszystkie elementy, które nie zostały znalezione (które również nie są wartościami („”)) na liście, która wyświetla się po zakończeniu makra. W tej chwili staram się, aby nawet zwróciła jedną wartość.
=IF(A1='For Delivery'!A1,0,1)
, możesz po prostu spojrzeć na tę kolumnę na 1 i wypisać wszystko, czego potrzebujesz dla tego wiersza. Możesz nawet ukryć kolumnę, aby użytkownicy nie widzieli Twojego czeku.