อาร์เรย์ใน Excel VBA: ประเภทและวิธีการใช้งาน พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
อาร์เรย์ใน Excel VBA จัดเก็บกลุ่มของค่าที่เกี่ยวข้องกันซึ่งมีชนิดข้อมูลเดียวกันภายใต้ชื่อเดียว โดยเข้าถึงได้โดยใช้ดัชนี หน้านี้อธิบายเกี่ยวกับอาร์เรย์แบบคงที่และแบบไดนามิก อาร์เรย์หนึ่งมิติ สองมิติ และหลายมิติ ไวยากรณ์การประกาศ และตัวอย่างการโหลดเครื่องดื่มที่ใช้งานจริง

อาร์เรย์ VBA คืออะไร
อาร์เรย์ถูกกำหนดให้เป็นตำแหน่งหน่วยความจำที่สามารถจัดเก็บได้มากกว่าหนึ่งค่า ค่าทั้งหมดต้องเป็นประเภทข้อมูลเดียวกัน สมมติว่าคุณต้องการจัดเก็บรายการเครื่องดื่มที่คุณชื่นชอบไว้ในตัวแปรเดียว คุณสามารถใช้อาร์เรย์ VBA เพื่อดำเนินการดังกล่าวได้
เมื่อใช้อาร์เรย์ คุณสามารถอ้างอิงถึงค่าที่เกี่ยวข้องด้วยชื่อเดียวกันได้ คุณสามารถใช้ดัชนีหรือตัวห้อยเพื่อแยกความแตกต่างได้ แต่ละค่าจะเรียกว่าองค์ประกอบของอาร์เรย์ Excel VBA โดยจะต่อเนื่องกันตั้งแต่ดัชนี 0 ถึงค่าดัชนีสูงสุด
บทช่วยสอนนี้ถือว่าคุณกำลังใช้งานอยู่ Microsoft Excel เวอร์ชัน 2013 ความรู้ยังคงนำไปใช้กับเวอร์ชันอื่น ๆ Microsoft เอ็กเซลอีกด้วย
ข้อดีของอาร์เรย์คืออะไร?
ก่อนที่จะเขียนโค้ดเกี่ยวกับอาร์เรย์ การเข้าใจว่าทำไมการใช้อาร์เรย์จึงมีประโยชน์นั้นเป็นสิ่งสำคัญ ต่อไปนี้คือประโยชน์บางประการของฟังก์ชันอาร์เรย์ใน VBA
- จัดกลุ่มข้อมูลที่เกี่ยวข้องกับตรรกะเข้าด้วยกัน สมมติว่าคุณต้องการจัดเก็บรายชื่อนักเรียน คุณสามารถใช้ตัวแปรอาร์เรย์เดี่ยวที่มีตำแหน่งแยกสำหรับหมวดหมู่ของนักเรียน เช่น Kinder Garden ประถมศึกษา มัธยมศึกษา มัธยมปลาย ฯลฯ
- อาร์เรย์ทำให้ง่ายต่อการเขียนโค้ดที่สามารถบำรุงรักษาได้ สำหรับข้อมูลที่เกี่ยวข้องกันทางตรรกะเดียวกัน จะช่วยให้คุณสามารถกำหนดตัวแปรตัวเดียว แทนที่จะกำหนดตัวแปรมากกว่าหนึ่งตัว
- ประสิทธิภาพที่ดีขึ้น - เมื่อกำหนดอาร์เรย์แล้ว การเรียกค้น จัดเรียง และแก้ไขข้อมูลก็จะเร็วขึ้น
ประเภทของอาร์เรย์ใน VBA
VBA รองรับอาร์เรย์สองประเภทคือ
- คงที่ – อาร์เรย์ประเภทนี้มีจำนวนองค์ประกอบที่กำหนดไว้ล่วงหน้าคงที่ซึ่งสามารถจัดเก็บได้ ไม่สามารถเปลี่ยนขนาดของชนิดข้อมูลของ Static Array ได้ สิ่งเหล่านี้มีประโยชน์เมื่อคุณต้องการทำงานกับเอนทิตีที่ทราบ เช่น จำนวนวันในหนึ่งสัปดาห์ เพศ ฯลฯตัวอย่างเช่น: Dim ArrayMonth(12) เป็นสตริง
- พลวัต – อาร์เรย์ประเภทนี้ไม่มีจำนวนองค์ประกอบที่กำหนดไว้ล่วงหน้าคงที่ซึ่งสามารถจัดเก็บได้ สิ่งเหล่านี้มีประโยชน์เมื่อทำงานกับเอนทิตีที่คุณไม่สามารถกำหนดหมายเลขล่วงหน้าได้ตัวอย่างเช่น: Dim ArrayMonth() เป็นตัวแปร
เมื่อคุณทราบแล้วว่าประเภทใดเหมาะสมกับข้อมูลของคุณ ขั้นตอนต่อไปคือไวยากรณ์การประกาศสำหรับแต่ละประเภท
ไวยากรณ์ในการประกาศอาร์เรย์
อาร์เรย์แบบคงที่
ไวยากรณ์สำหรับการประกาศ คงที่ อาร์เรย์เป็นดังนี้:
Dim arrayName (n) as datatype
ที่นี่
| Code | การกระทำ |
|---|---|
| ประเภทข้อมูล Dim arrayName (n) |
|
ไดนามิกอาร์เรย์
ไวยากรณ์สำหรับการประกาศ ไดนามิค อาร์เรย์เป็นดังนี้:
Dim arrayName() as datatype ReDim arrayName(4)
ที่นี่
| Code | การกระทำ |
|---|---|
| ประเภทข้อมูล Dim arrayName () |
|
| ReDim ชื่ออาร์เรย์(4) |
|
ขนาดอาร์เรย์
อาร์เรย์สามารถเป็นหนึ่งมิติ สองมิติ หรือหลายมิติ
- มิติหนึ่ง: ในมิตินี้ อาร์เรย์ใช้เพียงดัชนีเดียวเท่านั้น เช่น จำนวนคนในแต่ละวัย
- สองมิติ: ในมิตินี้ อาร์เรย์ใช้ดัชนี 2 รายการ เช่น จำนวนนักเรียนในแต่ละชั้นเรียน โดยจะต้องมีจำนวนชั้นเรียนและจำนวนนักเรียนในแต่ละชั้นเรียน
- หลายมิติ: ในมิตินี้ อาร์เรย์ใช้ดัชนีมากกว่าสองดัชนี เช่น อุณหภูมิในเวลากลางวัน ( 30, 40, 20).
วิธีใช้อาร์เรย์ใน Excel VBA
เมื่อเราเข้าใจทฤษฎีแล้ว เราสามารถนำอาร์เรย์ไปใช้งานในเวิร์กบุ๊กจริงได้ เราจะสร้างแอปพลิเคชันง่ายๆ แอปพลิเคชันนี้จะเติมข้อมูลลงในชีต Excel จากตัวแปรอาร์เรย์ ในตัวอย่าง VBA Array นี้ เราจะทำสิ่งต่อไปนี้
- สร้างใหม่ Microsoft เวิร์กบุ๊ก Excel และบันทึกเป็นเวิร์กบุ๊กที่เปิดใช้งานแมโคร Excel (*.xlsm)
- เพิ่มปุ่มคำสั่งลงในสมุดงาน
- ตั้งค่าคุณสมบัติชื่อและคำอธิบายของปุ่มคำสั่ง
- การเขียนโปรแกรม VBA ที่เติมแผ่นงาน Excel
ให้ทำแบบฝึกหัดนี้ทีละขั้นตอน
ขั้นตอนที่ 1 - สร้างสมุดงานใหม่
- จุดเปิด Microsoft Excel
- บันทึกเวิร์กบุ๊กใหม่เป็น VBA Arrays.xlsm
ขั้นตอนที่ 2 - เพิ่มปุ่มคำสั่ง
หมายเหตุ ส่วนนี้จะถือว่าคุณคุ้นเคยกับกระบวนการสร้างอินเทอร์เฟซใน Excel หากคุณไม่คุ้นเคย อ่านบทช่วยสอน การควบคุมฟอร์ม VBA Excel และการควบคุม ActiveX- มันจะแสดงวิธีสร้างอินเทอร์เฟซ
- เพิ่มปุ่มคำสั่งลงในแผ่นงาน
- ตั้งค่าคุณสมบัติชื่อเป็นcmdLoadBeverages
- ตั้งค่าคุณสมบัติคำอธิบายภาพเป็นโหลดเครื่องดื่ม
GUI ของคุณควรเป็นดังนี้
ขั้นตอนที่ 3 – บันทึกไฟล์
- คลิกที่ปุ่มบันทึกเป็น
- เลือกสมุดงานที่เปิดใช้งานแมโคร Excel (*.xlsm) ดังที่แสดงในภาพด้านล่าง
ขั้นตอนที่ 4 – เขียนโค้ด
ตอนนี้เราจะเขียนโค้ดสำหรับแอปพลิเคชันของเรา
- คลิกขวาที่ปุ่ม Load Beverages และเลือกรหัสมุมมอง
- เพิ่มโค้ดต่อไปนี้ลงในเหตุการณ์คลิกของ cmdLoadBeverages
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
ที่นี่
| Code | การกระทำ |
|---|---|
| เครื่องดื่มติ่มซำ (1 ถึง 4) เป็นสตริง |
|
| เครื่องดื่ม(1) = “เป๊ปซี่” |
|
| Sheet1.Cells(1, 1).Value = “เครื่องดื่มที่ฉันชอบ” |
|
| Sheet1.เซลล์(2, 1).ค่า = เครื่องดื่ม(1) |
|
การทดสอบแอปพลิเคชันของเรา
เมื่อเขียนโค้ดเสร็จแล้ว ขั้นตอนสุดท้ายคือการเรียกใช้ปุ่มและตรวจสอบว่าอาร์เรย์แสดงผลเต็มแผ่นงานหรือไม่ เลือกแท็บนักพัฒนา และตรวจสอบให้แน่ใจว่าปุ่มโหมดออกแบบปิดอยู่ ตัวบ่งชี้คือพื้นหลังจะเป็นสีขาว ไม่ใช่สีอื่น (สีเขียว) (ดูภาพด้านล่าง)
คลิกที่ปุ่มโหลดเครื่องดื่ม
คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ดาวน์โหลด Excel ที่มีโค้ดด้านบน
ดาวน์โหลดไฟล์ Excel ด้านบน Code





