วิธีใช้ intersect ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้วิธี Intersect ใน VBA เพื่อส่งกลับช่วงที่แสดงถึงจุดตัดของช่วงเฉพาะสองช่วง

นี่เป็นวิธีทั่วไปในการใช้วิธีนี้ในทางปฏิบัติ:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

จากนั้นคุณสามารถป้อนฟังก์ชันนี้ลงในสเปรดชีต Excel ได้โดยตรง โดยระบุสองช่วง และฟังก์ชันจะส่งคืนค่าแต่ละค่าในช่วงที่แสดงถึงจุดตัดของทั้งสองช่วงนี้

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน Excel:

ตัวอย่างที่ 1: ค้นหาจุดตัดของสองช่วง (โดยมีเซลล์เดียวเป็นผล)

สมมติว่าเราต้องการส่งกลับค่าของเซลล์ที่แสดงถึงจุดตัดระหว่างช่วง A2:C2 และ A1:A11

เราสามารถกำหนดฟังก์ชั่นต่อไปนี้ใน VBA:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

จากนั้นเราสามารถพิมพ์ฟังก์ชันนี้ลงในเซลล์ในสเปรดชีตของเราได้โดยตรง:

สูตรส่งคืนค่า Mavs ซึ่งแสดงถึงจุดตัดของช่วง A2:C2 และ A1:A11 :

ตัวอย่างที่ 2: ค้นหาจุดตัดของสองช่วง (โดยมีหลายเซลล์เป็นผล)

สมมติว่าเราต้องการส่งคืนช่วงของเซลล์ทั้งหมดที่แสดงจุดตัดระหว่างช่วง A1:C3 และ A1:B10

เราสามารถกำหนดฟังก์ชั่นต่อไปนี้ใน VBA:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

จากนั้นเราสามารถพิมพ์ฟังก์ชันนี้ลงในเซลล์ในสเปรดชีตของเราได้โดยตรง:

สูตรส่งคืนช่วงสี่เหลี่ยมทั้งหมดของค่าที่แสดงถึงจุดตัดของช่วง A1:C3 และ A1:B10 :

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

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

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

VBA: วิธีนับจำนวนคอลัมน์ที่ใช้
VBA: วิธีนับแถวในตาราง
VBA: วิธีนับจำนวนแผ่นงานในสมุดงาน

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

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