VBA ปิด UserForm | วิธีการ 2 อันดับแรกในการปิด Userform พร้อมตัวอย่าง

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

Excel VBA ปิด Userform

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

ในบทความนี้เราจะแสดงวิธีปิด userform ในการเข้ารหัส VBA

วิธีปิด UserForm ใน Excel VBA

เมื่อวัตถุประสงค์ของแบบฟอร์มผู้ใช้เสร็จสิ้นแล้วจะมีจุดหนึ่งที่ต้องแสดงฟอร์มผู้ใช้ต่อหน้าผู้ใช้ดังนั้นเราจำเป็นต้องปิดฟอร์มผู้ใช้ เราสามารถปิด Userform ได้โดยใช้คำสั่ง“ Unload Me” และคำสั่ง“ UserForm.Hide” แม้ว่าทั้งสองจะแตกต่างกันเล็กน้อย แต่ก็จะตอบสนองวัตถุประสงค์ของเราในที่สุด

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

# 1 - ปิด Userform โดยใช้คำสั่ง“ Unload Me” ใน VBA

ตัวอย่างเช่นดูภาพด้านล่างของฟอร์มผู้ใช้

ฉันตั้งชื่อฟอร์มผู้ใช้ว่า“ MyUserForm”

หากฉันเรียกใช้ฟอร์มผู้ใช้เราจะเห็นรูปแบบผู้ใช้ดังต่อไปนี้

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

เมื่อคลิกปุ่มส่งมันได้บันทึกข้อมูลที่ฉันได้ป้อนลงในฟอร์มผู้ใช้

หากคุณสังเกตเห็นเรามีอีกหนึ่งปุ่มที่เรียกว่า“ ยกเลิก” สิ่งนี้ทำอะไร?

ก่อนที่เราจะแสดงฟอร์มผู้ใช้เราจำเป็นต้องกำหนดค่าปุ่มนี้ ตอนนี้ฉันจะกลับไปแก้ไข Visual Basic เพื่อกำหนดค่าปุ่มนี้

ตอนนี้ฉันจะดับเบิลคลิกที่ปุ่มยกเลิกและจะเปิดขั้นตอนย่อย VBA อัตโนมัติดังที่แสดงด้านล่าง

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

ดังนั้นเขียนโค้ดว่า“ Unload Me”

รหัส:

 Private Sub CancelButton_Click () Unload Me End Sub 

“ Unload Me” คือคำที่เราใช้เพื่อปิด Userform ที่เรากำลังดำเนินการอยู่ แบบฟอร์มผู้ใช้ที่นี่รู้จักคำว่า“ ฉัน” เป็น UserForm เอง

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

ตกลงมาเรียกใช้รหัสโดยใช้ปุ่ม F5 หรือด้วยตนเองตอนนี้เราจะเห็นแบบฟอร์มผู้ใช้ว่างเปล่า

กรอกข้อมูลและคลิกที่ส่ง

เมื่อคลิกปุ่มส่งแล้วจะจัดเก็บค่าไว้ในเซลล์ที่กล่าวถึง

ถ้าป้อนข้อมูลเสร็จเราจำเป็นต้องปิด userform ไม่ใช่หรอ ??

คลิกที่ปุ่มยกเลิกเพื่อปิดฟอร์มผู้ใช้มันจะปิดแบบฟอร์มผู้ใช้

# 2 - ปิด UserForm โดยใช้วิธีซ่อนใน Excel VBA

นอกจากนี้เรายังสามารถปิด Userform โดยใช้วิธี "ซ่อน" ได้เช่นกันใน VBA อีกครั้งฉันจะดับเบิลคลิกที่ปุ่มยกเลิกเพื่อดูขั้นตอนย่อยส่วนตัว

เนื่องจากเราได้เขียนโค้ดเพื่อปิด userform แล้วเราจึงสามารถดูโค้ดที่มีอยู่ใน VBA ได้ ตอนนี้ฉันจะลบสิ่งนี้

ในการใช้วิธีซ่อนเราจำเป็นต้องเรียกแบบฟอร์มผู้ใช้ด้วยชื่อ ในกรณีนี้ชื่อแบบฟอร์มผู้ใช้ของเราคือ“ MyUserForm”

หลังจากกล่าวถึงฟอร์มผู้ใช้ตามชื่อหากเราใส่จุด (.) เราจะเห็นคุณสมบัติและวิธีการทั้งหมดของแบบฟอร์มผู้ใช้นี้ ตอนนี้ฉันจะเลือกวิธี "ซ่อน"

โอเคเรามาเรียกใช้ฟอร์มผู้ใช้อีกครั้ง เราจะเห็นฟอร์มผู้ใช้ว่างให้กรอกรายละเอียดก่อน

ตอนนี้ไม่ต้องคลิกที่ปุ่มส่งฉันจะคลิกปุ่มยกเลิกมันจะซ่อนแบบฟอร์มผู้ใช้

ความแตกต่างระหว่างยกเลิกการโหลดและซ่อนใน Excel VBA

คุณต้องมีคำถามว่าความแตกต่างระหว่าง Unload & Hide คืออะไรโดยที่ทั้งสองมีจุดประสงค์ที่คล้ายคลึงกัน มีความแตกต่างระหว่างสองสิ่งนี้ ก่อนอื่นฉันจะใช้คำสั่ง Unload Me ดูภาพด้านล่าง

ฉันได้ป้อนข้อมูลในแบบฟอร์มผู้ใช้ แต่ยังไม่ได้ส่งข้อมูล ถ้าฉันคลิกที่ยกเลิกมันจะยกเลิกการโหลดฟอร์มผู้ใช้

อีกครั้งฉันจะเรียกใช้รหัสผ่านทางคีย์ลัด excel F5 หรือด้วยตนเองมันจะแสดง Userform ว่าง

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

ตอนนี้ฉันจะใช้วิธี“ ซ่อน”

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

นี่คือวิธีที่เราสามารถใช้คำสั่ง“ ยกเลิกการโหลด” และวิธี“ ซ่อน” เพื่อปิดรูปแบบผู้ใช้ใน Excel VBA