วิธีเปรียบเทียบสตริงใน vba: พร้อมตัวอย่าง


คุณสามารถใช้วิธีการต่อไปนี้ใน VBA เพื่อเปรียบเทียบสตริง:

วิธีที่ 1: การเปรียบเทียบสตริงที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

มาโครนี้จะทำการเปรียบเทียบสตริงแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ระหว่างสตริงในเซลล์ที่ตรงกันในช่วง A2:A10 และ B2:B10 และส่งคืนค่า TRUE หรือ FALSE ในช่วง C2:C10 เพื่อระบุว่าสตริงเท่ากันหรือไม่

วิธีที่ 2: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

มาโครนี้จะทำการเปรียบเทียบสตริงที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ระหว่างสตริงในเซลล์ที่ตรงกันในช่วง A2:A10 และ B2:B10

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับรายการสตริงต่อไปนี้ใน Excel:

ตัวอย่างที่ 1: การเปรียบเทียบสตริงที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน VBA

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำการเปรียบเทียบสตริงที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ระหว่างแต่ละสตริงที่ตรงกันในคอลัมน์ A และ B:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

การเปรียบเทียบสตริงที่คำนึงถึงขนาดตัวพิมพ์ใน VBA

คอลัมน์ C ส่งคืน TRUE ถ้าสตริงเท่ากันและมีตัวพิมพ์เหมือนกัน

มิฉะนั้น คอลัมน์ C จะส่งกลับ FALSE

ตัวอย่างที่ 2: การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน VBA

เราสามารถสร้างแมโครต่อไปนี้เพื่อทำการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ระหว่างแต่ละสตริงที่ตรงกันในคอลัมน์ A และ B:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

การเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ใน VBA

คอลัมน์ C ส่งคืน TRUE หากสตริงเท่ากัน โดยไม่คำนึงถึงตัวพิมพ์

คอลัมน์ C ส่งคืน FALSE เฉพาะในกรณีที่สตริงไม่เท่ากัน

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มของฟังก์ชัน StrComp ใน VBA ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีแทนที่อักขระในสตริง
VBA: วิธีลบอักขระพิเศษออกจากสตริง
VBA: วิธีแปลงสตริงเป็น int

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *