รูปแบบผู้ใช้ Excel VBA | จะสร้างแบบฟอร์มผู้ใช้แบบโต้ตอบได้อย่างไร

รูปแบบผู้ใช้ Excel VBA

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

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

ในบทความนี้เราจะแสดงวิธีสร้างฟอร์มผู้ใช้ที่คล้ายกันเพื่อจัดเก็บข้อมูลจากผู้ใช้

จะสร้าง Userform ได้อย่างไร?

เช่นเดียวกับการแทรกโมดูลใหม่ในทำนองเดียวกันคุณต้องคลิกที่ปุ่ม INSERT ใน Visual Basic Editor เพื่อแทรก Userform

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

ทันทีที่คุณคลิกสิ่งนี้ฟอร์มผู้ใช้จะถูกแทรกด้วย

ก่อนที่ฉันจะบอกวิธีตั้งโปรแกรมนี้ให้ฉันแสดงวิธีจัดรูปแบบ Userform นี้

การจัดรูปแบบ Userform

โดยการเลือกรูปแบบผู้ใช้กดปุ่ม F4 จะแสดงหน้าต่างคุณสมบัติ

การใช้หน้าต่างคุณสมบัตินี้เราสามารถจัดรูปแบบฟอร์มผู้ใช้นี้เราสามารถตั้งชื่อได้เราสามารถเปลี่ยนสีสไตล์เส้นขอบ ฯลฯ ...

เช่นนี้ลองใช้คุณสมบัติอื่น ๆ เพื่อให้เห็นรูปแบบผู้ใช้

ตอนนี้สำหรับรูปแบบผู้ใช้นี้ใส่กล่องเครื่องมือ

ตอนนี้เราจะเห็นกล่องเครื่องมือแบบนี้

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

ตอนนี้ใช้ฉลากจับฉลาก ToolBox

ป้อนข้อความเป็นชื่อพนักงานภายในป้ายกำกับ

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

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

ตอนนี้เราจะมีป้ายกำกับเดียวกัน

เปลี่ยนชื่อเป็นรหัสพนักงาน

ในทำนองเดียวกันใส่ป้ายกำกับอีก 1 ป้ายและตั้งชื่อว่า "แผนก"

ตอนนี้จากกล่องเครื่องมือให้ใส่กล่องข้อความ

ตั้งชื่อกล่องข้อความนี้เป็นEmpNameในหน้าต่างคุณสมบัติ

เช่นนี้แทรกอีกสองกล่องข้อความจากรหัสพนักงานและแผนกตามลำดับ ตั้งชื่อกล่องข้อความเหล่านั้นตามหัวข้อ

ในทำนองเดียวกันทำเพื่อกรม

จากกล่องเครื่องมือใส่ปุ่มคำสั่ง

เปลี่ยนชื่อของปุ่มคำสั่งเป็น“ SubmitButton”และเปลี่ยนคำอธิบายภาพเป็น“ Submit”

ใส่อีกปุ่มหนึ่งแล้วเรียกว่า“ ยกเลิก”

ตอนนี้เพียงเพื่อดูการทำงานให้กดปุ่ม run หรือใช้ปุ่ม F5 และดูว่ารูปแบบผู้ใช้ของคุณเป็นอย่างไรใน Excel

ตอนนี้มันกำลังมาถึงรูปร่าง

รหัส VBA

ตอนนี้ผู้ใช้จะป้อนข้อมูลในสิ่งนี้ดังนั้นเราต้องตั้งโปรแกรมนี้เพื่อจัดเก็บข้อมูลที่ผู้ใช้ป้อนในแบบฟอร์มนี้

ดับเบิลคลิกที่ปุ่ม SUBMIT มันจะนำคุณไปยังหน้าต่างมาโครที่มีมาโครที่สร้างขึ้นอัตโนมัติดังภาพด้านล่าง

It says SubmitButton click, remember we had given a name for SUBMIT button as SubmitButton.

So, whenever we want to call this button we can call this by this name (submit button). Inside this macro copy and paste the below code.

Code:

 Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Value this is department text box name.

So, on the click on submit button it will store the values in the mentioned cells.

Now double click on Cancel button, this will also show you the auto macro name like this.

Copy the below code and paste.

Code:

 Private Sub CancelButton_Click() MyUserForm.Hide End Sub 

MyUserForm is the name we had given to the userform. MyUserForm.Hide means on the click on the CANCEL button it will hide the userform.

Ok, now create a template like this in the worksheet.

Delete all the other sheets in the workbook except this template sheet.

Now go to Visual Basic Editor.

And run the macro using F5 key or manually, we will see user form in front of us.

Enter the employee name, employee id, and Department name.

Now if you click on the SUBMIT button, it will store the values on to the template we have created.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.