Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

 

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.

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

  • 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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

  • 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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

Lưu ý: Nếu bạn không thấy tab Nhà phát triển, hãy bật tab đó qua TệpTùy chọnTù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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

  • 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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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 .

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

  • 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.

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

  • 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.

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tên

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

Tạo biểu mẫu Excel tự xóa bằng VBA và các dãy được đặt tê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!