สารบัญ
ขณะทำงานกับ Microsoft Excel บางครั้งเราต้องค้นหาค่าที่ตรงกันในช่วง เราสามารถทำได้อย่างง่ายดายด้วยฟังก์ชันของ excel มีฟังก์ชันใน VBA ที่เราอาจใช้ แต่ไม่มีฟังก์ชันใดเท่ากับ MATCH ในบทความนี้ เราจะเรียนรู้วิธีจับคู่ค่าในช่วงด้วย Excel VBA .
ดาวน์โหลดคู่มือแบบฝึกหัด
คุณสามารถดาวน์โหลด สมุดงานและฝึกฝนกับพวกเขา
VBA Match Value in Range.xlsm
Introduction to Excel VBA Match Function
ฟังก์ชัน การจับคู่ ใน Excel VBA เป็นฟังก์ชันการค้นหาที่เป็นประโยชน์ เช่น VLOOKUP , HLOOKUP และฟังก์ชัน INDEX ส่งคืนตำแหน่งของการจับคู่ค่าการค้นหาที่เหมือนกันหรือเทียบเคียงได้ในอาร์เรย์หรือฐานข้อมูล ฟังก์ชันนี้เป็นฟังก์ชันเวิร์กชีตที่โปรแกรมใช้ เนื่องจากเป็นฟังก์ชันเวิร์กชีต พารามิเตอร์สำหรับฟังก์ชัน Match จึงคล้ายกับพารามิเตอร์สำหรับฟังก์ชันเวิร์กชีต
3 ตัวอย่างของ Excel VBA เพื่อจับคู่ค่าในช่วง
1. จับคู่ค่าในช่วงด้วยฟังก์ชันการจับคู่ VBA ใน Excel
หากต้องการใช้ ฟังก์ชันการจับคู่ VBA ของ Excel เพื่อค้นหาค่าการจับคู่ในช่วง เราจะใช้ชุดข้อมูลต่อไปนี้ . ชุดข้อมูลมีชื่อนักเรียนบางคนในคอลัมน์ C เครื่องหมายของนักเรียนในคอลัมน์ D และหมายเลขประจำตัวของนักเรียนแต่ละคนในคอลัมน์ B ทีนี้สมมติว่าเราต้องการหาตำแหน่งที่ตรงกันในเซลล์ G5 ของเครื่องหมายที่ต้องการ และเครื่องหมายที่เราต้องการจับคู่นั้นอยู่ในเซลล์ F5
เรามาสาธิตขั้นตอนการ ค้นหาค่าที่ตรงกันในช่วงโดยใช้ฟังก์ชัน excel VBA Match .
ขั้นตอน:
- ขั้นแรก ไปที่แท็บ นักพัฒนาซอฟต์แวร์ จากริบบิ้น
- อย่างที่สอง คลิกที่ Visual Basic เพื่อเปิด Visual Basic Editor โดยที่ เราเขียนรหัส หรือ กด Alt + 11 เพื่อเปิด Visual Basic Editor
- วิธีอื่นในการเปิด Visual Basic Editor เป็นเพียงการ คลิกขวา บนแผ่นงานและคลิกที่ ดูรหัส
<3
- ซึ่งจะเป็นการเปิด Visual Basic Editor ตอนนี้ เขียนโค้ดที่นั่น
VBA Code:
6967
- หลังจากนั้น หากต้องการเรียกใช้โค้ด ให้กดปุ่ม F5 คีย์บนแป้นพิมพ์หรือคลิกที่ปุ่ม ถูย่อย
- สุดท้าย คุณจะเห็นว่าการจับคู่นั้น พบในตำแหน่ง 5 .
🔎 โค้ด VBA ทำงานอย่างไร
-
Sub example1_match()
: หมายความว่าเรากำหนดขั้นตอนย่อยโดยตั้งชื่อมาโคร -
Range("G5").Value
: เราต้องการ ผลลัพธ์ที่จะเก็บไว้ในเซลล์ G5 . -
WorksheetFunction
: โดยใช้รหัสนี้ เราจะสามารถเข้าถึงฟังก์ชัน VBA ได้
-
Match(Range("F5").Value, Range("D5:D10"), 0)
: ที่นี่ เราใช้ ฟังก์ชัน Match ใน VBA ตามที่เราต้องการนำค่าจากเซลล์ F5 และค้นหาตำแหน่งในช่วง D5:D10 . -
End Sub
: หมายความว่าสิ้นสุดขั้นตอน
อ่านเพิ่มเติม: Excel VBA เพื่อจับคู่สตริงในคอลัมน์ (5 ตัวอย่าง)
2. ใช้ Excel VBA เพื่อจับคู่ค่าจากเวิร์กชีตอื่น
เราสามารถค้นหาค่าที่ตรงกันในช่วงจากเวิร์กชีตอื่น โดยใช้ ฟังก์ชัน VBA Match ใน Excel สมมติว่า เรามีชุดข้อมูลในชีตชื่อ “ Data ” และเราต้องการผลลัพธ์ในชีตชื่อ “ Result ” และเรากำลังใช้ชุดข้อมูลเดียวกัน ทีนี้มาทำตามขั้นตอนกันเลย
STEPS:
- ใน เริ่มต้น โดยใช้โทเค็นเดียวกันกับตัวอย่างก่อนหน้านี้ ไปที่แท็บ นักพัฒนาซอฟต์แวร์ บน Ribbon
- จากนั้นคลิกที่ Visual Basic หรือกด Alt + F11 เพื่อเปิด Visual Basic Editor .
- แทนการเปิด Visual Basic Editor เพียงคลิกขวาบนแผ่นงานแล้วเลือก ดูโค้ด .
- ตอนนี้ จดโค้ด VBA
รหัส VBA:
9061
- ถัดไป เรียกใช้รหัสโดยกดปุ่ม F5 หรือคลิกปุ่ม เรียกใช้ย่อย
- และผลลัพธ์อยู่ในแผ่นงาน “ ผลลัพธ์ ”
อ่านเพิ่มเติม: วิธีจับคู่ข้อมูลใน Excel จาก 2 แผ่นงาน
การอ่านที่คล้ายกัน
- รวมผลการแข่งขันทั้งหมดด้วย VLOOKUP ใน Excel (3 ง่ายวิธี)
- วิธีค้นหาการจับคู่ตัวพิมพ์เล็กและใหญ่ใน Excel ( 6 สูตร)
- วิธีจับคู่ชื่อใน Excel โดยที่ตัวสะกดต่างกัน (8 วิธี )
3. Excel VBA วนซ้ำเพื่อรับค่าที่ตรงกันในช่วง
สมมติว่าเราต้องการให้เครื่องหมายหลายตัวตรงกับค่า เราจะใช้การวนซ้ำ VBA สำหรับสิ่งนี้ เรากำลังใช้ชุดข้อมูลเดิมเหมือนเดิม ตอนนี้เราต้องการตำแหน่งการจับคู่ในคอลัมน์ G และเครื่องหมายที่เราต้องการค้นหาการจับคู่อยู่ในคอลัมน์ F มาดูขั้นตอนด้านล่างกัน
ขั้นตอน:
- อันดับแรก จาก Ribbon ไปที่ นักพัฒนาซอฟต์แวร์ แท็บ
- ประการที่สอง หากต้องการเปิด Visual Basic Editor ให้คลิกที่ Visual Basic หรือกด Alt + F11 .
- หรือเพียงคลิกขวาบนแผ่นงานแล้วเลือก ดูโค้ด
- จะเป็นการเปิด Visual Basic Editor .
- ตอนนี้ พิมพ์รหัสที่นั่น
รหัส VBA:
8956
- หลังจากนั้น การกดปุ่ม F5 หรือคลิกปุ่ม เรียกใช้ย่อย จะเป็นการเรียกใช้โค้ด
- และคุณจะเห็นผลลัพธ์ในคอลัมน์ G
🔎 รหัส VBA ทำงานอย่างไร
-
For i = 5 To 8
: หมายความว่าเราต้องการให้ลูปทำงานโดยเริ่มจากแถว 5 และลงท้ายด้วยแถว 8 . -
Cells(i, 7).Value
: ซึ่งจะบันทึกค่าของตำแหน่งผลลัพธ์ในแต่ละแถวจาก 5 ถึง 8 แถวในคอลัมน์ G ซึ่งเป็นหมายเลขคอลัมน์ 7 . -
Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: สามารถจับคู่เซลล์ได้โดยใช้ฟังก์ชัน จับคู่ (i, 6) ค้นหาค่าสำหรับแต่ละค่าการค้นหาที่พบในแถว 5 ถึง 8 ของคอลัมน์ 6th จากนั้นค้นหาในอาร์เรย์ D5:D10 บนแผ่นงาน Excel ที่มีข้อมูลอยู่
อ่านเพิ่มเติม: Excel ค้นหาค่าที่ตรงกันในสองคอลัมน์
สิ่งที่ควรทราบ
- หากไม่มีประเภทการจับคู่หรือไม่ได้ระบุ จะถือว่าเป็น 1 .
- หากตรวจไม่พบข้อมูลที่ตรงกัน ช่อง excel ที่เกี่ยวข้องจะว่างเปล่า
- ค่าการค้นหาอาจเป็นตัวเลข อักขระ หรือข้อมูลตรรกะ หรือการอ้างอิงเซลล์ไปยังปริมาณ ข้อความ หรือนัยสำคัญทางตรรกะ
สรุป
วิธีการข้างต้นจะช่วยให้คุณจับคู่ค่าในช่วงใน Excel VBA หวังว่านี่จะช่วยคุณได้! หากคุณมีคำถาม ข้อเสนอแนะ หรือคำติชม โปรดแจ้งให้เราทราบในส่วนความคิดเห็น หรือคุณสามารถดูบทความอื่นๆ ของเราในบล็อก ExcelWIKI.com !