Vba: วิธีค้นหาค่าในคอลัมน์ (พร้อมตัวอย่าง)


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

 Sub FindValue()

Dim rng As Range
Dim cell As Range
Dim findString As String

'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")

'specify string to look for
findString = " Rockets "

'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
                    LookAt:=xlWhole, MatchCase:=False)

If cell Is Nothing Then
    cell.Font.Color = vbBlack
Else
    cell.Font.Color = vbRed
    cell.Font.Bold = True
End If

End Sub

มาโครนี้จะค้นหาทั้งคอลัมน์ A ของแผ่นงานที่ใช้งานอยู่ในปัจจุบันเพื่อหาสตริง “Rockets” และหากพบ ให้เปลี่ยนสีแบบอักษรของเซลล์เป็นสีแดง และทำให้แบบอักษรเป็นตัวหนา

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

ตัวอย่าง: วิธีค้นหาค่าในคอลัมน์โดยใช้ VBA

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

สมมติว่าเราต้องการค้นหาชื่อทีม “Rockets” ในคอลัมน์ A และเมื่อพบแล้ว ให้แปลงสีแบบอักษรของเซลล์เป็นสีแดงและทำให้แบบอักษรเป็นตัวหนา

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

 Sub FindValues()

Dim rng As Range
Dim cell As Range
Dim findString As String

'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")

'specify string to look for
findString = " Rockets "

'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
                    LookAt:=xlWhole, MatchCase:=False)

If cell Is Nothing Then
    cell.Font.Color = vbBlack
Else
    cell.Font.Color = vbRed
    cell.Font.Bold = True
End If

End Sub

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

โปรดสังเกตว่าแบบอักษรในเซลล์ที่มีสตริง “Rockets” เปลี่ยนเป็นสีแดงและเป็นตัวหนา

เซลล์อื่นๆ ทั้งหมดจะเก็บแบบอักษรสีดำไว้

โปรดทราบว่าอาร์กิวเมนต์ MatchCase:=False ในโค้ดบอกให้ VBA ทำการค้นหาโดยคำนึงถึงขนาดตัวพิมพ์

ดังนั้นหากชื่อทีมในคอลัมน์ A คือ “rockets” มาโครจะค้นหาสตริงนั้นเสมอและทำให้แบบอักษรเป็นสีแดงและตัวหนา

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

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

VBA: วิธีเขียนฟังก์ชัน AVERAGEIF และ AVERAGEIFS
VBA: วิธีเขียนฟังก์ชัน SUMIF และ SUMIFS
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS

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

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