วิธีใช้ 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: วิธีนับเซลล์ด้วยข้อความเฉพาะ

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

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