วิธีใช้ like operator ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้ตัวดำเนินการ Like ใน VBA เพื่อตรวจสอบว่าสตริงมีรูปแบบเฉพาะหรือไม่
ตัวอย่างเช่น คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่าแต่ละสตริงในช่วงเซลล์ A2:A10 มีสตริงย่อย “hot” และแสดงผลลัพธ์ในช่วง B2:B10 :
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ตัวดำเนินการ Like ใน VBA
สมมติว่าเรามีรายการอาหารต่อไปนี้ใน Excel:
เราสามารถสร้างแมโครต่อไปนี้เพื่อตรวจสอบว่าแต่ละสตริงในคอลัมน์ A มีสตริงย่อย “hot” และแสดงผลลัพธ์ในคอลัมน์ B:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ B ระบุว่าแต่ละเซลล์ที่ตรงกันในคอลัมน์ A มีสตริงย่อย “hot” หรือไม่
โปรดทราบว่าเราใช้เครื่องหมายดอกจัน ( * ) รอบสตริงย่อยเพื่อระบุว่าอักขระใดๆ สามารถอยู่ก่อนหรือหลังสตริง “hot” ในเซลล์ได้
หากเราต้องการตรวจสอบว่าแต่ละสตริง ขึ้นต้นด้วย “hot” แทนหรือไม่ เราสามารถใส่เครื่องหมายดอกจันไว้หลังสตริงย่อยเท่านั้น:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ B ระบุว่า แต่ละเซลล์ที่ตรงกันในคอลัมน์ A ขึ้นต้นด้วย “hot” หรือไม่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ โดยใช้ VBA:
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ