ตัวแปร VBA | วิธีการประกาศ Variant Data Type ใน Excel VBA

ชนิดข้อมูลตัวแปร 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