ชนิดข้อมูลตัวแปร VBA ของ Excel
Variant Data Type ใน VBAเป็นประเภทข้อมูลสากลที่สามารถเก็บข้อมูลประเภทใดก็ได้ แต่ในขณะที่กำหนดประเภทข้อมูลเราจำเป็นต้องใช้คำว่า "Variant"
เราทุกคนรู้ว่าตัวแปรสำคัญในโครงการ VBA เป็นอย่างไร เมื่อประกาศตัวแปรแล้วเราจำเป็นต้องกำหนดประเภทข้อมูลให้กับตัวแปรที่ประกาศ การกำหนดประเภทข้อมูลใน VBA ขึ้นอยู่กับชนิดของข้อมูลที่เราต้องการกำหนดให้กับตัวแปรที่ประกาศไว้
สำหรับตัวอย่างดูโค้ดด้านล่าง
ในโค้ดข้างต้นที่ผมได้ประกาศตัวแปร“IntegerNumber”และฉันได้รับมอบหมายชนิดข้อมูลเป็น“จำนวนเต็ม”
ก่อนกำหนดชนิดข้อมูลให้กับตัวแปรฉันควรทราบข้อ จำกัด ของตัวแปร เนื่องจากฉันได้กำหนดประเภทข้อมูลเป็นจำนวนเต็มตัวแปรของฉันสามารถเก็บตัวเลขได้ตั้งแต่ -32768 ถึง 32767
สิ่งที่เกินขีด จำกัด ของชนิดข้อมูลจะทำให้เกิดข้อผิดพลาด ดังนั้นหากเราต้องการเก็บค่ามากกว่า 32767 เราจำเป็นต้องกำหนดประเภทข้อมูลที่แตกต่างกันซึ่งสามารถเก็บได้มากกว่า 32767
เพื่อเอาชนะข้อ จำกัด นี้เรามีประเภทข้อมูลสากล "Variant" บทความนี้จะแสดงคำแนะนำที่สมบูรณ์เกี่ยวกับประเภทข้อมูลตัวแปร
จะประกาศ Variant Data Type ได้อย่างไร?
เราสามารถประกาศประเภทข้อมูลตัวแปรได้ตามปกติ แต่ในขณะที่กำหนดประเภทข้อมูลเราจำเป็นต้องใช้คำว่า“ Variant”
รหัส:
Sub Variant_Example1 () Dim MyNumber As Variant End Sub
สิ่งนี้ทำให้ตัวแปรทำงานกับข้อมูลประเภทใดก็ได้ในขณะนี้ เราสามารถกำหนดตัวเลขสตริงวันที่และอื่น ๆ อีกมากมาย
ด้านล่างคือการสาธิตเดียวกัน
รหัส:
Sub Variant_Example1 () Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "January" MyDate = "24-04-2019" MyNumber = 4563 MyName = "My Name is Excel VBA" End Sub
ในข้างต้นฉันได้กำหนดวันที่ให้กับตัวแปรตัวเลขให้กับตัวแปรสตริงให้กับตัวแปร ดังนั้นประเภทข้อมูล Variant ทำให้เราไม่ต้องกังวลว่าเราจะจัดเก็บหรือกำหนดข้อมูลประเภทใด
ทันทีที่เราประกาศตัวแปรเป็น Variant เราไม่ต้องกังวลว่าประเภทข้อมูลของเราจะอยู่ตรงกลางโปรเจ็กต์ในขณะที่เข้ารหัส สิ่งนี้ทำให้ตัวแปรทำงานได้อย่างยืดหยุ่นตามความต้องการของเรา อาจมีตัวแปรเดียวเราสามารถดำเนินการในโครงการทั้งหมดได้
ตัวแปร VBA ไม่ต้องการวิธีที่ชัดเจน
ขั้นตอนทั่วไปในการประกาศตัวแปร VBA คือการตั้งชื่อตัวแปรก่อนจากนั้นกำหนดชนิดข้อมูลให้ ด้านล่างนี้เป็นตัวอย่างเดียวกัน
นี่เป็นวิธีที่ชัดเจนในการประกาศตัวแปร อย่างไรก็ตามเมื่อเราประกาศประเภทข้อมูล Variant เราไม่จำเป็นต้องประกาศอย่างชัดเจน แต่เราสามารถตั้งชื่อตัวแปรและเว้นส่วนประเภทข้อมูลไว้ได้
รหัส:
Sub Variant_Example1 () Dim MyNumber End Sub
ในโค้ดด้านบนฉันตั้งชื่อตัวแปรว่า“ MyNumber” แต่หลังจากตั้งชื่อตัวแปรแล้วฉันยังไม่ได้กำหนดประเภทข้อมูลใด ๆ ให้กับมัน
ฉันได้ละไว้ในส่วน [ชื่อประเภทข้อมูล] เนื่องจากช่วงเวลาที่เราเพิกเฉยต่อส่วนการกำหนดประเภทข้อมูลตัวแปรคงที่จะกลายเป็นตัวแปร
สิ่งที่ต้องจำ
แม้ว่าประเภทข้อมูล "Variant" จะยืดหยุ่นกับข้อมูลที่เรากำลังจัดเก็บ แต่ก็ไม่ใช่ประเภทข้อมูลยอดนิยม ดูแปลก แต่จริงอย่างแน่นอน เว้นแต่จะมีเหตุผลเฉพาะเจาะจงในการใช้ผู้คนหลีกเลี่ยงการใช้ข้อมูลประเภทนี้ ด้านล่างนี้คือสาเหตุบางประการในการหลีกเลี่ยงการใช้ Variant
- จะละเว้นข้อผิดพลาดที่ไม่ตรงกันทั้งหมด
- ชนิดข้อมูลตัวแปร จำกัด ไม่ให้เราเข้าถึงรายการ IntelliSense
- VBA จะเดาประเภทข้อมูลที่ดีที่สุดและกำหนดตามนั้นเสมอ
- ในกรณีของชนิดข้อมูลจำนวนเต็มชนิดข้อมูลตัวแปรจะไม่แจ้งให้เราทราบเมื่อข้ามขีด จำกัด 32767