Việc tạo Biểu mẫu tự xóa bằng VBA và Named Ranges trong Excel giúp đơn giản hóa các tác vụ nhập dữ liệu và nâng cao năng suất. Nó tự động xóa các trường nhập sau khi dữ liệu được gửi, lý tưởng cho các trường hợp nhập dữ liệu mà bạn cần nhập nhiều bản ghi một cách nhanh chóng.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn cách tạo biểu mẫu tự làm sạch bằng VBA và các phạm vi được đặt tên.
Hãy tạo một biểu mẫu thông tin nhân viên đơn giản chấp nhận dữ liệu nhân viên, lưu dữ liệu vào bảng cơ sở dữ liệu và tự động xóa biểu mẫu sau khi gửi.
Bước 1:Thiết lập cấu trúc bảng tính
- Mở sổ làm việc Excel mới.
- Tạo bố cục biểu mẫu của bạn.
- Đổi tên Trang tính 1 thành “Biểu mẫu”.
- Tạo bố cục sau trên trang Biểu mẫu.

- Bên cạnh mỗi nhãn, cung cấp các ô trống (B2, B3, B4, B5) để nhập dữ liệu.
Thiết lập bảng cơ sở dữ liệu:
- Chèn trang tính mới và đổi tên thành “Cơ sở dữ liệu”.
- Tạo tiêu đề ở hàng 1:
- Tên
- Sở
- Tiền lương
- Ngày bắt đầu
- Ngày nhập

Bước 2:Tạo dãy được đặt tên
Các phạm vi được đặt tên giúp việc tham chiếu các ô trong VBA dễ dàng và rõ ràng hơn. Chúng tôi sẽ tạo các phạm vi được đặt tên cho tất cả dữ liệu đầu vào của biểu mẫu.
- Chọn ô B2.
- Trong Hộp Tên (bên trái thanh công thức), nhập Tên .
- Nhấn Enter .

- Lặp lại quy trình này cho từng ô:
- B3:Đặt tên là Sở .
- B4:Đặt tên là Mức lương .
- B5:Đặt tên là StartDate .
Xác minh phạm vi được đặt tên:
- Chuyển đến Công thức tab>> chọn Trình quản lý tên hoặc nhấn Ctrl+F3 .
- Xác minh rằng tất cả các dải ô được đặt tên đều được tạo chính xác.
- Chọn Đóng .

Bước 3:Tạo nút biểu mẫu
Thêm nút gửi:
- Chuyển đến trang Biểu mẫu.
- Đi tới Nhà phát triển tab>> chọn Chèn >> từ Điều khiển biểu mẫu>> chọn Nút .

- Vẽ nút trong ô.
- Khi được nhắc, hãy đặt tên cho macro là SubmitandClearForm .
- Nhấp vào OK .

- Nhấp chuột phải vào nút>> chọn Chỉnh sửa văn bản .

- Thay đổi thành Gửi và xóa biểu mẫu .

Thêm nút xóa:
- Chèn nút khác.
- Đặt tên cho macro ClearForm .
- Thay đổi văn bản nút thành Xóa biểu mẫu .

Lưu ý: Nếu bạn không thấy tab Nhà phát triển, hãy bật tab đó qua Tệp → Tùy chọn → Tùy chỉnh dải băng → kiểm tra Nhà phát triển .
Bước 4:Viết mã VBA
- Đi tới Nhà phát triển tab>> chọn Visual Basic .
- Từ trình đơn, nhấp vào Chèn>> chọn Mô-đun .

- Sao chép-dán mã VBA sau.
Mã VBA Gửi biểu mẫu:
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

Giải thích:
- Nhận dữ liệu đầu vào từ các dải ô được đặt tên trên trang Biểu mẫu.
- Thêm dữ liệu này vào hàng tiếp theo trong trang Cơ sở dữ liệu, cùng với dấu thời gian.
- Gọi macro ClearForm để đặt lại các trường biểu mẫu.
- Hiển thị thông báo xác nhận và đặt con trỏ vào trường Tên.
Mã 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

Giải thích:
- Xóa nội dung của tất cả các trường biểu mẫu (Tên, Bộ phận, Mức lương, Ngày bắt đầu) trên trang Biểu mẫu.
- Đặt con trỏ trở lại trường Tên để nhập dữ liệu nhanh.
Bước 6:Kiểm tra biểu mẫu tự xóa
- Lưu sổ làm việc của bạn dưới dạng Sổ làm việc hỗ trợ macro Excel (.xlsm).
- Nhập dữ liệu vào các trường biểu mẫu của bạn.
- Nhấp vào Gửi và xóa biểu mẫu .

- Các trường biểu mẫu tự động gửi dữ liệu vào bảng cơ sở dữ liệu. Tự động xóa dữ liệu biểu mẫu và con trỏ sẽ quay lại trường đầu tiên, sẵn sàng nhập dữ liệu mới.

- Dữ liệu đã gửi được lưu trữ trong bảng cơ sở dữ liệu.

- Ngoài ra, bạn có thể sử dụng Biểu mẫu rõ ràng nút. Nó sẽ xóa dữ liệu biểu mẫu, cho dù nó có được gửi hay không.

- Trả con trỏ về trường đầu tiên.

Lợi ích của việc sử dụng biểu mẫu tự xóa
- Hiệu quả :Tiết kiệm thời gian bằng cách loại bỏ việc xóa dữ liệu đầu vào theo cách thủ công.
- Độ chính xác :Giảm lỗi của con người khỏi các công việc lặp đi lặp lại.
- Tiện lợi :Nâng cao trải nghiệm người dùng và tốc độ nhập dữ liệu.
Kết luận
Bằng cách làm theo các bước trên, bạn có thể tạo biểu mẫu tự xóa đầy đủ chức năng bằng VBA và các phạm vi được đặt tên. Giờ đây, biểu mẫu Excel của bạn sẽ tự xóa sau mỗi mục nhập, cải thiện đáng kể quy trình làm việc của bạn. Việc sử dụng các phạm vi được đặt tên giúp mã dễ bảo trì hơn và dễ hiểu hơn, đồng thời chức năng tự xóa đảm bảo quy trình nhập dữ liệu hiệu quả.
Nhận MIỄN PHÍ Bài tập Excel nâng cao có Giải pháp!