Array ฟังก์ชั่น (VBA for Excel)

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!