วิธีเปรียบเทียบสตริงใน 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
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ 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
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ C ส่งคืน TRUE หากสตริงเท่ากัน โดยไม่คำนึงถึงตัวพิมพ์
คอลัมน์ C ส่งคืน FALSE เฉพาะในกรณีที่สตริงไม่เท่ากัน
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มของฟังก์ชัน StrComp ใน VBA ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีแทนที่อักขระในสตริง
VBA: วิธีลบอักขระพิเศษออกจากสตริง
VBA: วิธีแปลงสตริงเป็น int