การสร้างแบบฟอร์มเคลียร์ตัวเองด้วย VBA และ Named Ranges ใน Excel ช่วยให้งานป้อนข้อมูลง่ายขึ้นและเพิ่มประสิทธิภาพการทำงาน โดยจะล้างช่องป้อนข้อมูลโดยอัตโนมัติหลังจากส่งข้อมูลแล้ว ทำให้เหมาะสำหรับสถานการณ์การป้อนข้อมูลที่คุณต้องป้อนข้อมูลหลายรายการอย่างรวดเร็ว
ในบทช่วยสอนนี้ เราจะแสดงวิธีสร้างแบบฟอร์มการทำความสะอาดตัวเองด้วย VBA และช่วงที่ตั้งชื่อ
มาสร้างแบบฟอร์มข้อมูลพนักงานแบบง่ายๆ ที่ยอมรับข้อมูลพนักงาน บันทึกข้อมูลลงในแผ่นฐานข้อมูล และล้างแบบฟอร์มโดยอัตโนมัติหลังจากส่ง
ขั้นตอนที่ 1:การตั้งค่าโครงสร้างแผ่นงาน
- เปิดสมุดงาน Excel ใหม่
- สร้างเค้าโครงแบบฟอร์มของคุณ
- เปลี่ยนชื่อ Sheet1 เป็น “แบบฟอร์ม”
- สร้างเค้าโครงต่อไปนี้บนแผ่นงานแบบฟอร์ม

- ถัดจากป้ายกำกับแต่ละป้าย ให้ระบุเซลล์ว่าง (B2, B3, B4, B5) สำหรับการป้อนข้อมูล
การตั้งค่าแผ่นฐานข้อมูล: ป>
- แทรกแผ่นงานใหม่และเปลี่ยนชื่อเป็น "ฐานข้อมูล"
- สร้างส่วนหัวในแถวที่ 1:
- ชื่อ
- แผนก
- เงินเดือน
- วันที่เริ่มต้น
- วันที่เข้า

ขั้นตอนที่ 2:การสร้างช่วงที่มีชื่อ
ช่วงที่มีชื่อทำให้การอ้างอิงเซลล์ใน VBA ง่ายขึ้นและชัดเจนยิ่งขึ้น เราจะสร้างช่วงที่มีชื่อสำหรับอินพุตแบบฟอร์มทั้งหมด
- เลือกเซลล์ B2
- ในกล่องชื่อ (ด้านซ้ายของแถบสูตร) ให้พิมพ์ ชื่อ .
- กด Enter .

- ทำซ้ำขั้นตอนนี้สำหรับแต่ละเซลล์:
- B3:ตั้งชื่อว่า แผนก .
- B4:ตั้งชื่อมันว่า เงินเดือน .
- B5:ตั้งชื่อเป็น วันที่เริ่มต้น .
การตรวจสอบช่วงที่มีชื่อ: ป>
- ไปที่สูตร แท็บ>> เลือก ตัวจัดการชื่อ หรือกด Ctrl+F3 .
- ตรวจสอบว่าช่วงที่ตั้งชื่อทั้งหมดถูกสร้างขึ้นอย่างถูกต้อง
- เลือก ปิด .

ขั้นตอนที่ 3:การสร้างปุ่มแบบฟอร์ม
การเพิ่มปุ่มส่ง: ป>
- ไปที่แผ่นแบบฟอร์ม
- ไปที่ นักพัฒนา แท็บ>> เลือก แทรก >> จาก การควบคุมแบบฟอร์ม>> เลือก ปุ่ม .

- วาดปุ่มในเซลล์
- เมื่อได้รับแจ้ง ให้ตั้งชื่อมาโคร SubmitandClearForm .
- คลิก ตกลง .

- คลิกขวาที่ปุ่ม>> เลือก แก้ไขข้อความ .

- เปลี่ยนเป็น ส่งและล้างแบบฟอร์ม .

การเพิ่มปุ่มล้าง: ป>
- แทรกปุ่มอื่น
- ตั้งชื่อมาโคร ClearForm .
- เปลี่ยนข้อความของปุ่มเป็น ล้างแบบฟอร์ม .

หมายเหตุ: หากคุณไม่เห็นแท็บนักพัฒนาซอฟต์แวร์ ให้เปิดใช้งานผ่าน ไฟล์ → ตัวเลือก → ปรับแต่งริบบิ้น → เลือก นักพัฒนาซอฟต์แวร์ .
ขั้นตอนที่ 4:การเขียนโค้ด VBA
- ไปที่นักพัฒนาซอฟต์แวร์ แท็บ>> เลือก Visual Basic .
- จากเมนู คลิก แทรก>> เลือก โมดูล .

- คัดลอกและวางโค้ด VBA ต่อไปนี้
ส่งแบบฟอร์มรหัส VBA: ป>
Sub SubmitandClearForm()
Dim ws As Worksheet
Dim dbSheet As Worksheet
Dim lastRow As Long
Dim formValid As Boolean
' Set worksheet references
Set ws = ThisWorkbook.Sheets("Form")
Set dbSheet = ThisWorkbook.Sheets("Database")
' Find the next empty row in database
lastRow = dbSheet.Cells(dbSheet.Rows.Count, 1).End(xlUp).Row + 1
' Copy data from form to database
dbSheet.Cells(lastRow, 1).Value = Range("Name").Value
dbSheet.Cells(lastRow, 2).Value = Range("Department").Value
dbSheet.Cells(lastRow, 3).Value = Range("Salary").Value
dbSheet.Cells(lastRow, 4).Value = Range("StartDate").Value
dbSheet.Cells(lastRow, 5).Value = Now() ' Entry timestamp
' Clear the form
ClearForm
' Provide feedback
MsgBox "Employee data submitted successfully!", vbInformation, "Success"
' Set focus back to name field
Range("Name").Select
End Sub

คำอธิบาย: ป>
- รับอินพุตจากช่วงที่มีชื่อบนแผ่นงานแบบฟอร์ม
- เพิ่มข้อมูลนี้ลงในแถวถัดไปในแผ่นฐานข้อมูล พร้อมด้วยการประทับเวลา
- เรียกมาโคร ClearForm เพื่อรีเซ็ตฟิลด์แบบฟอร์ม
- แสดงข้อความยืนยันและตั้งค่าเคอร์เซอร์ไปที่ฟิลด์ชื่อ
โค้ด VBA ของ ClearForm: ป>
Sub ClearForm()
' Clear all form fields using named ranges
Range("Name").ClearContents
Range("Department").ClearContents
Range("Salary").ClearContents
Range("StartDate").ClearContents
' Set focus to first field
Range("Name").Select
End Sub

คำอธิบาย: ป>
- ล้างเนื้อหาของฟิลด์แบบฟอร์มทั้งหมด (ชื่อ แผนก เงินเดือน วันที่เริ่มต้น) บนแผ่นงาน
- ตั้งค่าเคอร์เซอร์กลับไปที่ช่องชื่อเพื่อการป้อนข้อมูลอย่างรวดเร็ว
ขั้นตอนที่ 6:การทดสอบแบบฟอร์มการเคลียร์ด้วยตนเอง
- บันทึกสมุดงานของคุณเป็นสมุดงานที่เปิดใช้งานแมโคร Excel (.xlsm)
- ป้อนข้อมูลในช่องแบบฟอร์มของคุณ
- คลิก ส่งและล้างแบบฟอร์ม .

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

- ข้อมูลที่ส่งจะถูกจัดเก็บไว้ในแผ่นฐานข้อมูล

- นอกจากนี้ คุณสามารถใช้แบบฟอร์มที่ชัดเจนได้ ปุ่ม มันจะลบข้อมูลแบบฟอร์มไม่ว่าจะส่งหรือไม่ก็ตาม

- คืนค่าเคอร์เซอร์ไปที่ฟิลด์แรก

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