Visual Basic for Applications (VBA) ของ Excel มีฟังก์ชันมากมายที่สามารถเพิ่มประสิทธิภาพการทำงานได้อย่างมาก ฟังก์ชัน Array อันทรงพลังในการทำงานการจัดการข้อมูลแบบอัตโนมัติ ไม่ว่าจะเป็นมือใหม่หรือผู้ใช้ VBA ที่มีประสบการณ์ การทำความเข้าใจวิธีใช้ประโยชน์จากฟังก์ชัน Array จะช่วยปรับปรุงงานได้อย่างมาก
Array (อาร์เรย์) คืออะไร?
อาร์เรย์คือโครงสร้างข้อมูลที่สามารถเก็บค่าประเภทข้อมูลเดียวกันได้หลายค่า ใน VBA สามารถใช้อาร์เรย์เพื่อจัดเก็บและจัดการข้อมูลได้อย่างมีประสิทธิภาพ อาร์เรย์ทำให้คุณสามารถทำงานกับกลุ่มของค่าที่เกี่ยวข้องพร้อมกันได้ ซึ่งต่างจากตัวแปรแต่ละตัว
การประกาศและการเริ่มต้นอาร์เรย์:
หากต้องการประกาศอาร์เรย์ใน VBA ต้องระบุประเภทข้อมูลและมิติข้อมูล
ตัวอย่าง:
Dim myArray(1 To 10) As Integer
ในกรณีนี้ ตัวอย่างจะเป็นอาร์เรย์ 1 มิติ เราประกาศอาร์เรย์ชื่อ “myArray” ซึ่งสามารถเก็บค่าจำนวนเต็มได้สิบค่า ตัวเลขภายในวงเล็บแสดงถึงขอบเขตล่างและบนของ index (ดัชนี) อาร์เรย์
- ตอนประกาศอาร์เรย์ จะกำหนด หรือ ไม่กำหนด index (ขอบเขต) ก็ได้
- โดยปกติ อาร์เรย์ index จะเริ่มจาก 0
การเริ่มต้นอาร์เรย์สามารถทำได้หลายวิธี:
1.การกำหนดค่าด้วยตนเอง:
Dim myArray(1 To 10) As Integer
myArray(1) = 10
myArray(2) = 20
myArray(3) = 30
myArray(4) = 40
myArray(5) = 50
myArray(6) = 60
myArray(7) = 70
myArray(8) = 80
myArray(9) = 90
myArray(10) = 100
2. การใช้ฟังก์ชันอาร์เรย์:
myArray = Array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
ฟังก์ชัน Array ช่วยให้คุณสามารถประกาศและเริ่มต้นอาร์เรย์ได้ในบรรทัดเดียว ทำให้โค้ดของคุณกระชับยิ่งขึ้น
การทำงานกับองค์ประกอบอาร์เรย์: เมื่อประกาศและเตรียมใช้งานอาร์เรย์แล้ว คุณสามารถเข้าถึงองค์ประกอบต่างๆ ได้โดยใช้ชื่ออาร์เรย์และหมายเลขดัชนี (index)
ตัวอย่างเช่น:
myArray = Array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
Dim myNumber As Integer
myNumber = myArray(3) ' มีค่า 40
MsgBox myNumber
คุณยังสามารถแก้ไของค์ประกอบอาร์เรย์โดยใช้ไวยากรณ์เดียวกัน:
myArray = Array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
Dim myNumber As Integer
myArray(3) = 35 ' index3 จากค่า 40 จะเป็นเปลี่ยนเป็น 35
myNumber = myArray(3)
MsgBox myNumber
วนซ้ำผ่านอาร์เรย์: ลูปมักใช้เพื่อวนซ้ำผ่านอาร์เรย์และดำเนินการกับแต่ละองค์ประกอบ นี่คือตัวอย่างของ For loop ที่พิมพ์องค์ประกอบทั้งหมดใน “myArray”:
Dim myArray(1 To 10) As Integer
Dim i As Integer
For i = 1 To 10
myArray(i) = i * 10
Debug.Print myArray(i)
Next i
การวนซ้ำนี้เริ่มต้นจากขอบเขตล่าง (1) และดำเนินต่อไปจนถึงขอบเขตบน (10) โดยพิมพ์แต่ละองค์ประกอบไปยังหน้าต่าง Immediate
อาร์เรย์หลายมิติ:
VBA ยังรองรับอาร์เรย์หลายมิติด้วย โดยที่องค์ประกอบต่างๆ ได้รับการจัดระเบียบในหลายมิติหรือหลายระดับ ตัวอย่างเช่น:
Dim myMatrix(1 To 3, 1 To 3) As Integer
ในกรณีนี้ เราประกาศเมทริกซ์ 3×3 ชื่อ “myMatrix” เพื่อเก็บค่าตัวเลขจำนวนเต็ม
บทสรุป: การเรียนรู้ฟังก์ชัน Array ใน VBA ของ Excel จะเปิดโลกแห่งความเป็นไปได้ในการทำงานการจัดการข้อมูลโดยอัตโนมัติ ด้วยการจัดระเบียบและจัดการข้อมูลอย่างมีประสิทธิภาพโดยใช้อาร์เรย์ ทำให้สามารถปรับปรุงขั้นตอนการทำงานและเพิ่มประสิทธิภาพการทำงานได้อย่างมาก ไม่ว่าจะทำงานกับอาร์เรย์หนึ่งมิติหรือหลายมิติ ฟังก์ชัน Array ก็เป็นเครื่องมืออันล้ำค่าในคลังแสง VBA เริ่มสำรวจและทดลองใช้อาร์เรย์วันนี้ และปลดล็อกศักยภาพสูงสุดของความสามารถ VBA ของ Excel!