ขณะทำงานกับ VBA ใน Excel ผู้ใช้หลายคนมักเจอปัญหาเมื่อพยายามสร้างฟอร์มป้อนข้อมูล ในบทความนี้จะแนะนำวิธี สร้างฟอร์มป้อนข้อมูล ใน Excel ได้อย่างสะดวกและเป็นมืออาชีพโดยใช้ VBA
3 ขั้นตอนง่ายๆ ในการสร้างฟอร์มป้อนข้อมูลด้วย Excel VBA
ตัวอย่างนี้มีแผ่นงาน 3 แผ่น ชื่อ Washington, New York, และ California ซึ่งเก็บข้อมูล ชื่อ, เบอร์โทรศัพท์, อายุ, และ เพศ ของลูกค้าของสาขาธนาคาร 3 สาขา

เป้าหมายคือสร้างฟอร์มเพื่อป้อนข้อมูลใหม่เข้าไปในฐานข้อมูลนี้โดยใช้ VBA
จะทำได้ใน 2 ขั้นตอนหลัก:
- ขั้นแรก สร้าง UserForm สำหรับป้อนข้อมูลใหม่
- จากนั้นเพิ่มปุ่มบนแผ่นงานเพื่อเปิดฟอร์ม
ขั้นตอนที่ 1: พัฒนา UserForm เพื่อสร้างฟอร์มป้อนข้อมูลด้วย Excel VBA
กระบวนการนี้ค่อนข้างยาวและอาจใช้เวลาในการเข้าใจ โปรดทำตามขั้นตอนด้านล่างอย่างละเอียดและอดทน
- กด ALT + F11 บนคีย์บอร์ดเพื่อเปิดหน้าต่าง Visual Basic

- ในหน้าต่าง Visual Basic ไปที่ Insert > UserForm บนแถบเครื่องมือ คลิก UserForm จะมี UserForm1 ใหม่เปิดขึ้น

- ลาก Label (Label1) จากกล่องเครื่องมือไปวางมุมซ้ายบนของ UserForm แล้วเปลี่ยนข้อความแสดงผลเป็น Worksheet
ลาก Listbox (Listbox1) ไปวางข้างขวาของ Label1
- ลาก Label เพิ่มอีกจำนวนเท่ากับจำนวนคอลัมน์ของข้อมูล (4 ในตัวอย่าง) ไปวางด้านซ้ายของ UserForm ข้างแต่ละ Label ให้ลาก TextBox ไปวาง
เปลี่ยนข้อความแสดงผลของ Label ให้ตรงกับหัวคอลัมน์ข้อมูล (Customer Name, Contact Address, Age, และ Gender)
- สุดท้าย ลาก CommandButton ไปวางมุมขวาล่างของ UserForm เปลี่ยนข้อความปุ่มเป็น Enter Data

- ดับเบิลคลิกที่ Listbox จะเปิด private subprocedure ชื่อ ListBox1_Click ใส่โค้ดต่อไปนี้:
⧭ โค้ด VBA:
Private Sub ListBox1_Click()
For i = 0 To UserForm1.ListBox1.ListCount - 1
If UserForm1.ListBox1.Selected(i) = True Then
Worksheets(UserForm1.ListBox1.List(i)).Activate
End If
Next i
End Sub

- ดับเบิลคลิกที่ CommandButton จะเปิด private subprocedure ชื่อ CommandButton_Click ใส่โค้ดต่อไปนี้:
⧭ โค้ด VBA:
Private Sub CommandButton1_Click()
Total_Rows = ActiveSheet.UsedRange.Rows.Count
Total_Columns = ActiveSheet.UsedRange.Columns.Count
Active_Column = 1
For Each Ctrl In UserForm1.Controls
If TypeName(Ctrl) = "TextBox" Then
ActiveSheet.UsedRange.Cells(Total_Rows + 1, Active_Column) = Ctrl.Text
Active_Column = Active_Column + 1
End If
Next Ctrl
End Sub

- ไปที่ Insert > Module บนแถบเครื่องมือ คลิก Module

- จะมี Module1 ใหม่เพิ่มเข้ามา ใส่โค้ดต่อไปนี้:
⧭ โค้ด VBA:
Sub Run_UserForm()
UserForm1.Caption = "Data Entry Form"
UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle
UserForm1.ListBox1.ListStyle = fmListStyleOption
For i = 1 To Sheets.Count
UserForm1.ListBox1.AddItem Sheets(i).Name
Next i
Load UserForm1
UserForm1.Show
End Sub

เสร็จแล้ว! คุณสร้างฟอร์มป้อนข้อมูลสำหรับเพิ่มข้อมูลใหม่เข้าไปในฐานข้อมูลได้สำเร็จ
อ่านเพิ่มเติม: ประเภทของการป้อนข้อมูลใน Excel (ภาพรวมสรุป)
ขั้นตอนที่ 2: เพิ่มปุ่มเพื่อเปิดฟอร์มป้อนข้อมูล
เราสร้างฟอร์มป้อนข้อมูลด้วย UserForm ใน Excel VBA เรียบร้อยแล้ว ต่อไปจะเพิ่มปุ่มบนแผ่นงานเพื่อเปิดฟอร์ม
ทำตามขั้นตอนด้านล่าง:
- คลิกเปิดแท็บ Developer จาก Ribbon ของ Excel (แท็บ Developer โดนซ่อนอยู่โดยค่าเริ่มต้น หากไม่เห็น ให้ทำตามขั้นตอน ที่นี่ เพื่อแสดง)

- ในแท็บ Developer ภายใต้ส่วน Controls คลิก Insert เลือก Button (Form Control) ตัวบนสุดด้านซ้าย

- ลากวางปุ่มที่ตำแหน่งที่ต้องการบนแผ่นงาน กล่องโต้ตอบ Assign Macro จะปรากฏขึ้น ในช่อง Macro name ใส่ Run_UserForm

คลิก OK
- สามารถเปลี่ยนข้อความบนปุ่มได้ ตัวอย่างเปลี่ยนเป็น Enter New Data

ยินดีด้วย! คุณเพิ่มปุ่มเปิดฟอร์มป้อนข้อมูลสำเร็จแล้ว
หากต้องการสามารถเพิ่มปุ่มในแต่ละแผ่นงานเพื่อเพิ่มความสะดวก
อ่านเพิ่มเติม: วิธีแทรก Timestamp อัตโนมัติใน Excel (5 วิธี)
บทความที่เกี่ยวข้อง
- วิธีป้อนข้อมูลลง Excel จาก Web Form
- สร้าง Data Log ใน Excel (2 วิธี)
- สร้าง Fillable Form ใน Excel (5 ตัวอย่าง)
ขั้นตอนที่ 3: ผลลัพธ์สุดท้ายของฟอร์มป้อนข้อมูล
เราสร้างฟอร์มป้อนข้อมูลด้วย Excel VBA และเพิ่มปุ่มเปิดฟอร์มแล้ว เพื่อทดสอง ให้คลิกปุ่ม Enter New Data บนแผ่นงาน
ฟอร์มป้อนข้อมูลจะเปิดขึ้น ก่อนอื่นเลือกแผ่นงานที่ต้องการป้อนข้อมูล
ตัวอย่างเลือก New York แผ่นงานนั้นจะกลายเป็น Active Sheet ทันที

- กรอกข้อมูลที่ต้องการ ตัวอย่างใส่ Jennifer Marlo, 444204240, 26, และ Female

- คลิก Enter Data
ข้อมูลใหม่จะถูกเพิ่มเข้าไปในแถวสุดท้ายของฐานข้อมูล

อ่านเพิ่มเติม: สร้างฟอร์มป้อนข้อมูล Excel โดยไม่ใช้ UserForm
ข้อควรจำ
- ขณะป้อนข้อมูลใหม่ โค้ดจะทำงานตามลำดับของ TextBoxes บน UserForm ดังนั้นต้องจัดลำดับ TextBoxes ให้ตรงกับลำดับคอลัมน์ในฐานข้อมูล
สรุป
นี่คือกระบวนการสร้างฟอร์มป้อนข้อมูลสำหรับฐานข้อมูลของคุณโดยใช้ Excel VBA หากมีคำถาม สามารถถามได้เลย และ đừng ลืมเยี่ยมชมเว็บไซต์ ExcelDemy สำหรับบทความและอัปเดตเพิ่มเติม
บทความที่เกี่ยวข้อง
- สร้าง Autofill Form ใน Excel (คู่มือทีละขั้นตอน)
- สร้างฟอร์มป้อนข้อมูลพร้อม Drop Down List ใน Excel (2 วิธี)
- ทำให้การป้อนข้อมูลใน Excel เป็นอัตโนมัติ (2 วิธีที่มีประสิทธิภาพ)
- จำกัดการป้อนข้อมูลในเซลล์ Excel (2 วิธีง่ายๆ)