Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

 

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

ในบทช่วยสอนนี้ เราจะแสดงวิธีสร้างแบบฟอร์มการทำความสะอาดตัวเองด้วย VBA และช่วงที่ตั้งชื่อ

มาสร้างแบบฟอร์มข้อมูลพนักงานแบบง่ายๆ ที่ยอมรับข้อมูลพนักงาน บันทึกข้อมูลลงในแผ่นฐานข้อมูล และล้างแบบฟอร์มโดยอัตโนมัติหลังจากส่ง

ขั้นตอนที่ 1:การตั้งค่าโครงสร้างแผ่นงาน

  • เปิดสมุดงาน Excel ใหม่
  • สร้างเค้าโครงแบบฟอร์มของคุณ
  • เปลี่ยนชื่อ Sheet1 เป็น “แบบฟอร์ม”
  • สร้างเค้าโครงต่อไปนี้บนแผ่นงานแบบฟอร์ม

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

  • ถัดจากป้ายกำกับแต่ละป้าย ให้ระบุเซลล์ว่าง (B2, B3, B4, B5) สำหรับการป้อนข้อมูล

การตั้งค่าแผ่นฐานข้อมูล:

  • แทรกแผ่นงานใหม่และเปลี่ยนชื่อเป็น "ฐานข้อมูล"
  • สร้างส่วนหัวในแถวที่ 1:
    • ชื่อ
    • แผนก
    • เงินเดือน
    • วันที่เริ่มต้น
    • วันที่เข้า

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

ขั้นตอนที่ 2:การสร้างช่วงที่มีชื่อ

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

  • เลือกเซลล์ B2
  • ในกล่องชื่อ (ด้านซ้ายของแถบสูตร) ให้พิมพ์ ชื่อ .
  • กด Enter .

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

  • ทำซ้ำขั้นตอนนี้สำหรับแต่ละเซลล์:
    • B3:ตั้งชื่อว่า แผนก .
    • B4:ตั้งชื่อมันว่า เงินเดือน .
    • B5:ตั้งชื่อเป็น วันที่เริ่มต้น .

การตรวจสอบช่วงที่มีชื่อ:

  • ไปที่สูตร แท็บ>> เลือก ตัวจัดการชื่อ หรือกด Ctrl+F3 .
  • ตรวจสอบว่าช่วงที่ตั้งชื่อทั้งหมดถูกสร้างขึ้นอย่างถูกต้อง
  • เลือก ปิด .

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

ขั้นตอนที่ 3:การสร้างปุ่มแบบฟอร์ม

การเพิ่มปุ่มส่ง:

  • ไปที่แผ่นแบบฟอร์ม
  • ไปที่ นักพัฒนา แท็บ>> เลือก แทรก >> จาก การควบคุมแบบฟอร์ม>> เลือก ปุ่ม .

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

การเพิ่มปุ่มล้าง:

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

หมายเหตุ: หากคุณไม่เห็นแท็บนักพัฒนาซอฟต์แวร์ ให้เปิดใช้งานผ่าน ไฟล์ตัวเลือกปรับแต่งริบบิ้น → เลือก นักพัฒนาซอฟต์แวร์ .

ขั้นตอนที่ 4:การเขียนโค้ด VBA

  • ไปที่นักพัฒนาซอฟต์แวร์ แท็บ>> เลือก Visual Basic .
  • จากเมนู คลิก แทรก>> เลือก โมดูล .

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

  • คัดลอกและวางโค้ด 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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

คำอธิบาย:

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

คำอธิบาย:

  • ล้างเนื้อหาของฟิลด์แบบฟอร์มทั้งหมด (ชื่อ แผนก เงินเดือน วันที่เริ่มต้น) บนแผ่นงาน
  • ตั้งค่าเคอร์เซอร์กลับไปที่ช่องชื่อเพื่อการป้อนข้อมูลอย่างรวดเร็ว

ขั้นตอนที่ 6:การทดสอบแบบฟอร์มการเคลียร์ด้วยตนเอง

  • บันทึกสมุดงานของคุณเป็นสมุดงานที่เปิดใช้งานแมโคร Excel (.xlsm)
  • ป้อนข้อมูลในช่องแบบฟอร์มของคุณ
  • คลิก ส่งและล้างแบบฟอร์ม .

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

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

สร้างแบบฟอร์ม Excel แบบล้างตัวเองโดยใช้ VBA และช่วงที่ตั้งชื่อ

ประโยชน์ของการใช้แบบฟอร์มหักบัญชีด้วยตนเอง

  • ประสิทธิภาพ :ประหยัดเวลาโดยกำจัดการลบอินพุตด้วยตนเอง
  • ความแม่นยำ :ลดความผิดพลาดของมนุษย์จากงานซ้ำๆ
  • ความสะดวกสบาย :ปรับปรุงประสบการณ์ผู้ใช้และความเร็วในการป้อนข้อมูล

บทสรุป

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

รับแบบฝึกหัด Excel ขั้นสูงพร้อมโซลูชันฟรี!