ฉันต้องการให้ Excel VBA กลับมาในกล่องข้อความพร้อมข้อความรายการทั้งหมดที่อยู่ในคอลัมน์ ของแผ่นงาน Mastersheet แต่ไม่ได้อยู่ในคอลัมน์ ของแผ่นงาน DeliverySheet .
มีปัญหามากมายในการหาอันนี้นี่คือสิ่งที่ฉันได้รับ:
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
ฉันต้องการให้กล่องข้อความส่งคืนรายการทั้งหมดที่ไม่พบ (ซึ่งยังไม่เกิดขึ้นเป็นค่าของ ("")) ในรายการซึ่งแสดงหลังจากมาโครเสร็จสมบูรณ์ ตอนนี้ฉันแค่พยายามทำให้มันกลับมาเป็นค่าเดียว
1
แม้หลังจากการแก้ไขฉันไม่แน่ใจว่าคุณกำลังพยายามทำอะไร คำถามอยู่ที่ไหน นี่คือคำถาม & amp; เว็บไซต์และในขณะที่ฉันได้รับเรื่องตลกที่คุณกำลังมีปัญหา
—
YetAnotherRandomUser
นี่จะเป็นวิธีที่ง่ายขึ้นด้วยคอลัมน์ผู้ช่วย คุณใส่สูตรหนึ่งในแผ่นงานที่มีลักษณะคล้ายกัน
—
HackSlash
=IF(A1='For Delivery'!A1,0,1)
จากนั้นคุณสามารถดูคอลัมน์นั้นเป็น 1 และส่งออกสิ่งที่คุณต้องการสำหรับแถวนั้น คุณสามารถซ่อนคอลัมน์เพื่อให้ผู้ใช้ไม่เห็นเช็คของคุณ