โมดูลคลาส 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
- สิ่งที่น่าสนใจอีกอย่างคือเราต้องใช้คำว่า "ใหม่" เพื่อสร้างวัตถุจากโมดูลคลาส
ด้านล่างนี้เป็นตัวอย่างเดียวกัน
อีกอย่างหนึ่งเมื่อเราใช้ออบเจ็กต์ในตัวเช่นเวิร์กชีตเวิร์กบุ๊กและออบเจ็กต์ช่วงเราไม่ใช้คำว่า "ใหม่"
ในการเริ่มต้นการดำเนินการกับโมดูลคลาสสิ่งพื้นฐานเหล่านี้ที่คุณควรรู้ ในบทความต่อไปเราจะเห็นตัวอย่างระดับถัดไป
ดูเหมือนจะยากที่จะเข้าใจสิ่งนี้ยิ่งคุณใช้เวลากับโมดูลชั้นเรียนนานเท่าไหร่คุณก็จะชินกับมัน