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 Turtle ”
End 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 Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ B บอกเราว่าเซลล์ที่เกี่ยวข้องในคอลัมน์ A มี “เต่า” อยู่ที่ไหนสักแห่งในข้อความหรือไม่
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA Instr ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่