ตัวแปร VBA, ชนิดข้อมูล และค่าคงที่ใน Excel

⚡ สรุปอย่างชาญฉลาด

ตัวแปร VBA ชนิดข้อมูล และค่าคงที่ใน Excel ใช้สำหรับจัดเก็บและกำหนดชื่อให้กับค่าที่โปรแกรมใช้ในการทำงาน หน้านี้อธิบายกฎการตั้งชื่อตัวแปร การประกาศตัวแปรโดยปริยายและโดยชัดแจ้งด้วย Dim ชนิดข้อมูลตัวเลขและไม่ใช่ตัวเลข และวิธีการประกาศค่าคงที่ด้วย Const

  • 📦 ตัวแปร: ค่าที่มีชื่อซึ่งถูกเก็บไว้ในหน่วยความจำ โดยโค้ดจะจัดเก็บไว้และอ่านกลับมาใช้ในภายหลัง
  • 🔤 กฎการตั้งชื่อ: ชื่อต้องมีความยาวไม่เกิน 255 ตัวอักษร ไม่มีช่องว่าง ไม่ขึ้นต้นด้วยตัวเลข และไม่มีจุด
  • 🇧🇷 ประกาศ: คำสั่ง Dim ใช้สำหรับประกาศตัวแปรอย่างชัดเจน เช่น Dim Num As Integer
  • 🔢 ประเภทตัวเลข: ไบต์, อินเทอร์เฟส, ลอง, ซิงเกิล, Doubleสกุลเงินและระบบทศนิยมแตกต่างกันในด้านการจัดเก็บและช่วงค่า
  • 🔠 ประเภทข้อมูลที่ไม่ใช่ตัวเลข: ประเภทข้อมูล String, Boolean, Date, Object และ Variant สามารถเก็บข้อความ ค่าจริงหรือเท็จ วันที่ และวัตถุได้
  • 🔒 คงที่: คีย์เวิร์ด Const ใช้สำหรับประกาศค่าที่ไม่สามารถเปลี่ยนแปลงได้ เช่น Const DaysInYear = 365

ตัวแปร VBA, ชนิดข้อมูล และค่าคงที่ใน Excel

ตัวแปรถูกนำมาใช้ในโปรแกรมคอมพิวเตอร์เกือบทั้งหมด และ VBA ก็ไม่ต่างกัน การประกาศตัวแปรในตอนเริ่มต้นของกระบวนการถือเป็นแนวทางปฏิบัติที่ดี แม้จะไม่จำเป็น แต่จะช่วยระบุลักษณะของเนื้อหา (ข้อความ ข้อมูล ตัวเลข ฯลฯ) ได้

ตัวแปร VBA

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

ในการตั้งชื่อตัวแปรใน VBA คุณต้องปฏิบัติตามกฎต่อไปนี้

  • ต้องมีความยาวน้อยกว่า 255 อักขระ
  • ไม่อนุญาตให้มีการเว้นวรรค
  • จะต้องไม่ขึ้นต้นด้วยตัวเลข
  • ไม่อนุญาตให้มีระยะเวลา

ต่อไปนี้คือตัวอย่างบางส่วนของชื่อที่ถูกต้องและไม่ถูกต้องสำหรับตัวแปรใน VBA

ตัวแปร VBA ชื่อที่ถูกต้อง ตัวแปร VBA ชื่อไม่ถูกต้อง
นาฬิกาของฉัน นาฬิกาของฉัน
นิวคาร์1 1_NewCar (ไม่ได้ขึ้นต้นด้วยตัวเลข)
รหัสพนักงาน รหัสพนักงาน (ไม่อนุญาตให้เว้นวรรค)

In VBAเราจำเป็นต้องประกาศตัวแปรก่อนที่จะใช้งานโดยการกำหนดชื่อและประเภทข้อมูล

ใน VBA ตัวแปรจะถูกประกาศโดยปริยายหรือโดยชัดแจ้ง

  • โดยปริยาย: ด้านล่างนี้เป็นตัวอย่างของตัวแปรที่ประกาศโดยปริยาย
  • label=guru99
  • ปริมาณ=4
  • อย่างชัดเจน: ด้านล่างนี้เป็นตัวอย่างของตัวแปรที่ประกาศอย่างชัดเจน คุณสามารถใช้คีย์เวิร์ด "Dim" ในรูปแบบไวยากรณ์ได้
  • สลัว ตัวเลขเป็นจำนวนเต็ม
  • สลัว รหัสผ่านเป็นสตริง

ตัวแปร VBA ก็ไม่แตกต่างจากภาษาโปรแกรมอื่นๆ ในการประกาศตัวแปรใน VBA คุณใช้คำสำคัญ “ติ่มซำ”

ไวยากรณ์สำหรับตัวแปร VBA

หากต้องการประกาศตัวแปรใน VBA ให้พิมพ์ Dim ตามด้วยชื่อ:

Sub Exercise ()
        Dim <name>
End Sub

ก่อนที่เราจะรันตัวแปรเราต้องบันทึก a มาโครใน Excelในการบันทึกแมโคร ให้ทำดังต่อไปนี้ –

ขั้นตอน 1): บันทึกมาโคร 1

ขั้นตอน 2) : หยุดมาโคร 1

ขั้นตอน 3): เปิดตัวแก้ไข Macro ป้อนโค้ดสำหรับตัวแปรใน Macro1

ขั้นตอนที่ 4): รันโค้ดสำหรับมาโคร 1

ตัวอย่าง สำหรับตัวแปร VBA

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

เมื่อคุณรันโค้ดนี้ คุณจะได้ผลลัพธ์ต่อไปนี้ในชีตของคุณ

ตัวแปร VBA

ชนิดข้อมูล Excel VBA

คอมพิวเตอร์ไม่สามารถแยกความแตกต่างระหว่างตัวเลข (1,2,3..) และสตริง (a,b,c,..) ได้ เพื่อทำการแยกความแตกต่างนี้ เราจึงใช้ประเภทข้อมูล

ชนิดข้อมูล VBA สามารถแบ่งได้เป็น 2 ประเภท

  • ประเภทข้อมูลตัวเลข
ประเภท พื้นที่จัดเก็บ ช่วงของค่า
byte 1 ไบต์ เพื่อ 0 255
จำนวนเต็ม ไบต์ 2 -32,768 ไป 32,767
นาน ไบต์ 4 -2,147,483,648 ไป 2,147,483,648
เดียว ไบต์ 4 -3.402823E+38 ถึง -1.401298E-45 สำหรับค่าลบ 1.401298E-45 ถึง 3.402823E+38 สำหรับค่าบวก
Double ไบต์ 8 -1.79769313486232e+308 ถึง -4.94065645841247E-324 สำหรับค่าลบ
4.94065645841247E-324 ถึง 1.79769313486232e+308 สำหรับค่าบวก
เงินตรา ไบต์ 8 -922,337,203,685,477.5808 ไป 922,337,203,685,477.5807
ทศนิยม ไบต์ 12 +/- 79,228,162,514,264,337,593,543,950,335 ถ้าไม่มีทศนิยม +/- 7.9228162514264337593543950335 (ทศนิยม 28 ตำแหน่ง)
  • ประเภทข้อมูลที่ไม่ใช่ตัวเลข
ประเภทข้อมูล ไบต์ที่ใช้ ช่วงของค่า
เชือก (ความยาวคงที่) ความยาวของสตริง 1 ถึง 65,400 อักขระ
สตริง (ความยาวผันแปรได้) ความยาว + 10 ไบต์ 0 ถึง 2 พันล้านตัวอักษร
บูลีน ไบต์ 2 จริงหรือเท็จ
วันที่ ไบต์ 8 1 มกราคม 100 ถึง 31 ธันวาคม 9999
วัตถุ ไบต์ 4 วัตถุฝังตัวใดๆ
ตัวแปร(ตัวเลข) ไบต์ 16 ค่าใดๆ ที่มีขนาดใหญ่เท่ากับ Double
ตัวแปร(ข้อความ) ความยาว+22 ไบต์ เช่นเดียวกับสตริงที่มีความยาวผันแปรได้

ใน VBA ถ้า ไม่ได้ระบุประเภทข้อมูล มันจะประกาศตัวแปรเป็นตัวแปรโดยอัตโนมัติ

มาดูตัวอย่างวิธีการประกาศตัวแปรใน VBA ในตัวอย่างนี้ เราจะประกาศสตริงตัวแปรสามประเภท รวมวันที่และสกุลเงิน

ขั้นตอน 1) เช่นเดียวกับในบทช่วยสอนก่อนหน้านี้ เราจะแทรก commandButton1 ลงในของเรา แผ่นงาน Excel.

ชนิดข้อมูล Excel VBA

ขั้นตอน 2) ในขั้นตอนถัดไป คลิกขวาที่ปุ่มแล้วเลือกดูโค้ด มันจะเปิดหน้าต่างรหัสดังที่แสดงด้านล่าง

ชนิดข้อมูล Excel VBA

ขั้นตอน 3) ในขั้นตอนนี้

  • บันทึกไฟล์ของคุณโดยคลิกที่ปุ่มบันทึก ชนิดข้อมูล Excel VBA
  • จากนั้นคลิกที่ไอคอน Excel ชนิดข้อมูล Excel VBA ในหน้าต่างเดียวกันเพื่อส่งคืนแผ่นงาน Excel
  • คุณจะเห็นว่าโหมดการออกแบบ “เปิด” ไฮไลต์เป็นสีเขียว

ชนิดข้อมูล Excel VBA

ขั้นตอน 4) ปิดโหมดการออกแบบ ก่อนที่จะคลิกที่ปุ่มคำสั่ง

ชนิดข้อมูล Excel VBA

ขั้นตอน 5) หลังจากปิดโหมดการออกแบบแล้ว คุณจะคลิกที่ commandButton1 ซึ่งจะแสดงตัวแปรต่อไปนี้เป็นผลลัพธ์สำหรับช่วงที่เราประกาศไว้ในโค้ด

  • ชื่อ
  • วันที่เข้าร่วม
  • รายได้เป็นสกุลเงิน

ชนิดข้อมูล Excel VBA

ค่าคงที่ใน VBA

ค่าคงที่ก็เหมือนกับตัวแปร แต่คุณไม่สามารถแก้ไขได้ หากต้องการประกาศค่าคงที่ VBA คุณสามารถใช้คำหลักได้ const.

ค่าคงที่มีสองประเภทคือ

  • แอปพลิเคชันในตัวหรือภายในมีให้
  • สัญลักษณ์หรือผู้ใช้กำหนด

คุณสามารถระบุขอบเขตเป็น ส่วนตัว โดยค่าเริ่มต้นหรือ สาธารณะ- ตัวอย่างเช่น,

ค่าใช้จ่ายสาธารณะ DaysInYear=365

วันทำงานส่วนตัว Const=250

ดาวน์โหลด Excel ที่มีโค้ดด้านบน

ดาวน์โหลดไฟล์ Excel ด้านบน Code

ขอบเขตตัวแปรและตัวเลือกที่ระบุอย่างชัดเจน

ตำแหน่งที่ประกาศตัวแปรจะเป็นตัวกำหนดว่าตัวแปรนั้นสามารถใช้งานได้ที่ใด และการตั้งค่าเล็กๆ เพียงอย่างเดียวที่ด้านบนของโมดูลก็สามารถป้องกันการใช้งานตัวแปรส่วนใหญ่ได้ping ข้อผิดพลาด การเข้าใจทั้งสองอย่างจะช่วยให้โปรแกรมที่กำลังเติบโตมีความน่าเชื่อถือ

คำหลัก ขอบเขต ตลอดชีวิต
หรี่แสง (ภายในซับวูฟเฟอร์) เฉพาะขั้นตอนที่ประกาศไว้เท่านั้น รีเซ็ตทุกครั้งที่เรียกใช้ขั้นตอน
คงที่ เฉพาะขั้นตอนเท่านั้น แต่ค่าที่ได้ยังคงอยู่ จำได้ระหว่างการโทร
ส่วนตัว (ที่ด้านบนสุดของโมดูล) ทุกขั้นตอนในโมดูลนั้น มีชีวิตอยู่ขณะที่สมุดงานเปิดอยู่
สาธารณะ (ที่ด้านบนของโมดูล) ทุกโมดูลในโครงการ มีชีวิตอยู่ขณะที่สมุดงานเปิดอยู่

💡 เคล็ดลับ: ประเภท ตัวเลือกที่ชัดเจน โดยกำหนดเป็นบรรทัดแรกของทุกโมดูล วิธีนี้บังคับให้ทุกตัวแปรต้องประกาศด้วย Dim เพื่อตรวจจับชื่อตัวแปรที่สะกดผิดในระหว่างการคอมไพล์ แทนที่จะสร้าง Variant ว่างเปล่าขึ้นมาใหม่โดยไม่แจ้งให้ทราบล่วงหน้า

คำถามที่พบบ่อย

ตัวแปรคือค่าที่โค้ดสามารถเปลี่ยนแปลงได้ขณะทำงาน ส่วนค่าคงที่คือค่าที่ตายตัวและไม่สามารถเปลี่ยนแปลงได้ ควรใช้ค่าคงที่สำหรับค่าที่ไม่เปลี่ยนแปลง เช่น อัตราภาษี

ประเภทข้อมูล Integer เก็บค่าได้ตั้งแต่ -32,768 ถึง 32,767 เท่านั้น ดังนั้นจำนวนแถวหรือตัวเลขขนาดใหญ่จะทำให้ค่าเกินขีดจำกัด ส่วนประเภทข้อมูล Long เก็บค่าได้มากกว่านั้นมาก และ Microsoft ปัจจุบัน VBA สมัยใหม่แนะนำให้ใช้ Long สำหรับจำนวนเต็ม

Variant เป็นชนิดข้อมูลเริ่มต้นเมื่อไม่ได้ระบุชนิดข้อมูลอื่น โดยสามารถเก็บค่าตัวเลข ข้อความ วันที่ หรืออ็อบเจ็กต์ได้ ซึ่งมีความยืดหยุ่นกว่าแต่ใช้หน่วยความจำมากกว่าและทำงานช้ากว่า ควรระบุชนิดข้อมูลที่เฉพาะเจาะจงหากเป็นไปได้

ใช่แล้ว ผู้ช่วยเขียนโค้ด AI จะอ่านวิธีการใช้งานตัวแปรและแนะนำประเภทที่เหมาะสม เช่น Long สำหรับตัวนับ หรือ String สำหรับข้อความ นักพัฒนาจะยืนยันตัวเลือกและเพิ่ม Option Explicit เข้าไป

ใช่แล้ว ผู้ช่วย AI จะแจ้งเตือนเมื่อพบตัวแปรที่สะกดผิดหรือไม่ได้ประกาศ อธิบายว่าทำไม Option Explicit ถึงรายงานเช่นนั้น และแนะนำการประกาศที่ถูกต้อง นักพัฒนาจะทำการแก้ไขและคอมไพล์โมดูลใหม่

สรุปโพสต์นี้ด้วย: