Vba: สูตรง่ายๆ สำหรับ "ถ้าเซลล์มี"


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อใช้สูตรสำหรับ “ถ้าเซลล์มี” ใน VBA:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

ตัวอย่างนี้จะตรวจสอบว่าแต่ละเซลล์ในช่วง A2:A8 มี “เต่า” หรือไม่ จากนั้นกำหนด “มีเต่า” หรือ “ไม่มีเต่า” ให้กับแต่ละเซลล์ที่ตรงกันในช่วง B2:B8

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

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

ตัวอย่าง: วิธีใช้ “ถ้าเซลล์มี” ใน VBA

สมมติว่าเรามีรายการเซลล์ต่อไปนี้ใน Excel แต่ละเซลล์ประกอบด้วยข้อความที่แตกต่างกัน:

สมมติว่าเราต้องการตรวจสอบว่าแต่ละเซลล์ในช่วง A2:A8 มีข้อความ “เต่า” และแสดงผลลัพธ์ในเซลล์ที่เกี่ยวข้องในช่วง B2:B8 หรือไม่

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

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

คอลัมน์ B บอกเราว่าเซลล์ที่เกี่ยวข้องในคอลัมน์ A มี “เต่า” อยู่ที่ไหนสักแห่งในข้อความหรือไม่

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA Instr ได้ที่นี่

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

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

VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่

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

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