จะสร้างและใช้โมดูลคลาส VBA ได้อย่างไร (ตัวอย่าง)

โมดูลคลาส Excel VBA

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

Class Modules ใช้ในการสร้างออบเจ็กต์ เมื่อเราพูดว่าออบเจ็กต์แม้ว่ามันจะเป็นตัวแปร แต่ก็เป็นโปรแกรมขนาดเล็ก ในขณะที่เขียนโค้ดเรามักจะเขียนเป็นโมดูล โมดูลพื้นฐานคือที่ที่เราเขียนโค้ดของเราเพื่อทำงาน เรายังใช้แบบฟอร์มผู้ใช้เพื่อสร้างอินเทอร์เฟซผู้ใช้แบบกราฟิก

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

Class Module คืออะไร?

โมดูลคลาสอนุญาตให้ผู้ใช้สร้างอ็อบเจ็กต์ของตนเองเหมือนกับการที่เรามีอ็อบเจ็กต์ในตัวในโมดูลปกติเช่น "เวิร์กชีต" "เวิร์กบุ๊ก" "ช่วง" และอื่น ๆ

เช่นนี้โดยใช้โมดูลคลาสเราสามารถสร้างวัตถุที่กำหนดเองได้

คลาสมีความสัมพันธ์โดยตรงกับวัตถุ ตัวอย่างเช่นคุณมีแผนภาพเครื่องจักรสำหรับสร้างเครื่องจักร แต่จำไว้ว่ามันยังไม่ใช่เครื่องจักรและการใช้แผนภาพเครื่องจักรนี้เราสามารถสร้างเครื่องจักรได้หลายแบบ

ตัวอย่างเช่นหากคุณต้องการแสดงรายชื่อเครื่องยี่ห้อต่างๆเพื่อแสดงคุณสมบัติของรุ่นต่างๆ

ในเครื่องเรามีชื่อยี่ห้อหมายเลขซีรีส์กำลังเครื่องสีของเครื่องจำนวนมอเตอร์ที่เกี่ยวข้องประเภทเชื้อเพลิงของมอเตอร์ ฯลฯ ... ในภาษาทางเทคนิคสิ่งเหล่านี้เรียกว่า "คุณสมบัติ"

เกี่ยวกับคุณสมบัติของเครื่องเราสามารถสตาร์ทเราสามารถปิดเราสามารถเพิ่มความเร็วของมอเตอร์เราสามารถหยุดชั่วคราว ฯลฯ ... และสิ่งเหล่านี้เรียกว่า "วิธีการ"

ตัวอย่าง

คุณสามารถดาวน์โหลด VBA Class Template ได้ที่นี่ - VBA Class Template

มาเริ่มการหมุนลูกบอลกันดีกว่าเพราะมันเป็นสิ่งที่น่าเบื่อเสมอในการอ่านส่วนทางทฤษฎี ในการแทรกโมดูลคลาสให้ไปที่แทรกตัวเลือกในโปรแกรมแก้ไข Visual Basic

ตอนนี้เราสามารถเห็นโมดูลคลาสดังต่อไปนี้

ลักษณะนี้คล้ายกับที่เรามีข้างต้นเป็นโมดูลทั่วไป เปลี่ยนชื่อของคลาสโมดูลในหน้าต่างคุณสมบัติ เพื่อดูหน้าต่างคุณสมบัติกดปุ่ม F4

ตอนนี้ประกาศตัวแปรเป็นสตริง

หากไม่สร้างกระบวนการย่อยใน vba เราจำเป็นต้องประกาศตัวแปรและคราวนี้ใช้คำว่า "สาธารณะ" ไม่ใช่ "Dim"

ตอนนี้เราสามารถเข้าถึงตัวแปรนี้ในโมดูลและโมดูลคลาสใดก็ได้

ตอนนี้ไปที่โมดูลปกติและตั้งชื่อตัวแปร

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

ตอนนี้ใช้ตัวแปร“ k” เราสามารถเข้าถึงตัวแปรสาธารณะที่เรากำหนดไว้ในโมดูลคลาสเช่น“ ค่าของฉัน”

ดังที่เราเห็นในภาพด้านบนมันกำลังแสดงตัวเลือกของชื่อตัวแปรจากโมดูลคลาสเพื่อกำหนดค่าให้กับมัน

ตอนนี้แสดงค่าของตัวแปรที่กำหนดในกล่องข้อความ VBA

รหัส:

 Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub 

เรียกใช้รหัสนี้โดยใช้ปุ่ม F5 หรือด้วยตนเองเพื่อแสดงผลลัพธ์

คลาสโมดูลเทียบกับออบเจ็กต์

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

เพื่อให้เข้าใจถึงสิ่งนี้ให้นึกถึงตัวอย่างแผนภาพเครื่องจักรก่อนหน้านี้ สิ่งแรกที่เราต้องใช้ในการผลิตเครื่องจักรคือเราต้องออกแบบเครื่องจักรก่อนจากนั้นจึงสามารถจำลองสำเนาหลายชุดด้วยการออกแบบนั้นได้

ตอนนี้เกี่ยวข้องกับโมดูลคลาสของเรา

  • โมดูลคลาสนี่คือการออกแบบ และObjectคือสำเนาที่สร้างโดยDesign
  • สิ่งที่น่าสนใจอีกอย่างคือเราต้องใช้คำว่า "ใหม่" เพื่อสร้างวัตถุจากโมดูลคลาส

ด้านล่างนี้เป็นตัวอย่างเดียวกัน

อีกอย่างหนึ่งเมื่อเราใช้ออบเจ็กต์ในตัวเช่นเวิร์กชีตเวิร์กบุ๊กและออบเจ็กต์ช่วงเราไม่ใช้คำว่า "ใหม่"

ในการเริ่มต้นการดำเนินการกับโมดูลคลาสสิ่งพื้นฐานเหล่านี้ที่คุณควรรู้ ในบทความต่อไปเราจะเห็นตัวอย่างระดับถัดไป

ดูเหมือนจะยากที่จะเข้าใจสิ่งนี้ยิ่งคุณใช้เวลากับโมดูลชั้นเรียนนานเท่าไหร่คุณก็จะชินกับมัน