HomeTin học Văn phòngExcelCách tạo biểu...

Cách tạo biểu mẫu nhập dữ liệu tự động trong Excel VBA


Visual Basic là một ngôn ngữ tuyệt vời để tự động hóa các tác vụ lặp đi lặp lại trong Excel. Hãy tưởng tượng việc nâng cao khả năng tự động hóa của bạn bằng cách tạo các biểu mẫu người dùng có chức năng cao cũng trông gọn gàng đối với người dùng cuối.


Biểu mẫu người dùng trong VBA hiển thị cho bạn một khung vẽ trống; bạn có thể thiết kế và sắp xếp các biểu mẫu để phù hợp với nhu cầu của mình tại bất kỳ thời điểm nào.

Trong hướng dẫn này, bạn sẽ học cách tạo biểu mẫu nhập dữ liệu dựa trên sinh viên để ghi lại thông tin liên quan trong các trang tính Excel được liên kết.


Tạo biểu mẫu người dùng với Excel VBA

Mở một sổ làm việc Excel mới và thực hiện một vài bước sơ bộ trước khi bạn bắt đầu tạo biểu mẫu nhập dữ liệu của mình.

Lưu sổ làm việc của bạn với tên mong muốn; đừng quên thay đổi loại tệp thành Sổ làm việc hỗ trợ macro Excel.

Đọc thêm  Cách sử dụng Chủ đề và Kiểu trong Excel

Có liên quan: Các trang web và blog để tìm hiểu mẹo và thủ thuật Excel

Thêm hai trang tính vào sổ làm việc này, với các tên sau:

  1. Tờ1: Trang Chủ
  2. Tờ2: cơ sở dữ liệu sinh viên

bảng tính Excel

Vui lòng thay đổi các tên này theo yêu cầu của bạn.

bên trong Trang Chủ trang tính, hãy thêm một nút để kiểm soát macro biểu mẫu người dùng. đi đến nhà phát triển tab và nhấp vào Cái nút tùy chọn từ Chèn danh sách thả xuống. Đặt nút ở bất cứ đâu trên trang tính.

sổ làm việc excel

Khi bạn đã đặt nút, hãy đổi tên nó. Nhấp chuột phải vào nó và nhấp vào Mới mẻ để chỉ định một macro mới để hiển thị biểu mẫu.

Nhập mã sau vào cửa sổ soạn thảo:

  Sub Button1_Click()UserForm.ShowEnd Sub 

Một khi Trang Chủ cơ sở dữ liệu sinh viên các trang tính đã sẵn sàng, đã đến lúc thiết kế biểu mẫu người dùng. Điều hướng đến nhà phát triển và bấm vào Ngôn ngữ lập trình để mở Trình chỉnh sửa. Ngoài ra, bạn có thể nhấn ALT+F11 để mở cửa sổ soạn thảo.

bấm vào Chèn tab và chọn Biểu mẫu người dùng.

Một biểu mẫu người dùng trống đã sẵn sàng để sử dụng; một hộp công cụ đi kèm sẽ mở ra cùng với biểu mẫu, trong đó có tất cả các công cụ cần thiết để thiết kế bố cục.

Trình soạn thảo Excel VBA

Từ hộp công cụ, chọn Khung Tùy chọn. Kéo cái này vào biểu mẫu người dùng và thay đổi kích thước nó.

bên trong (Tên) tùy chọn, bạn có thể thay đổi tên của khung. Để hiển thị tên trên giao diện người dùng, bạn có thể thay đổi tên trong Đầu đề cột.

Tiếp theo, chọn các Nhãn mác tùy chọn từ hộp công cụ và chèn hai nhãn trong khung này. Đổi tên cái đầu tiên thành Sô hiệu đăng ki và thứ hai như thẻ học sinh.

Biểu mẫu người dùng trong Excel VBA

Logic đổi tên tương tự được áp dụng; thay đổi tên thông qua Đầu đề tùy chọn trong Tính chất cửa sổ. Hãy chắc chắn rằng bạn chọn nhãn tương ứng trước khi thay đổi tên của nó.

Tiếp theo, chèn hai hộp văn bản bên cạnh hộp nhãn. Chúng sẽ được sử dụng để nắm bắt đầu vào của người dùng. Thay đổi tên của hai hộp văn bản thông qua (Tên) cột trong Tính chất cửa sổ. Các tên như sau:

  • Hộp văn bản1: Ứng dụng txtKhông
  • Hộp văn bản2: txtStudentID

Thiết Kế Khung Chi Tiết Sinh Viên

Chèn khung dọc và thêm 10 nhãn và 10 hộp văn bản. Đổi tên từng người trong số họ theo cách sau:

  • Nhãn3: Tên
  • Nhãn4: Lứa tuổi
  • Nhãn5: Địa chỉ nhà
  • Nhãn6: Điện thoại
  • Nhãn7: Thành phố
  • Nhãn8: Quốc gia
  • Nhãn9: Ngày sinh
  • Nhãn 10: Mã Bưu Chính
  • Nhãn11: Quốc tịch
  • Nhãn12: Giới tính

Chèn các hộp văn bản tương ứng bên cạnh các nhãn này; chèn hai (hoặc nhiều hơn) nút tùy chọn hộp từ hộp công cụ biểu mẫu người dùng bên cạnh giới tính nhãn mác. Đổi tên chúng Nam giới Nữ giới (cùng với Tùy chỉnh), tương ứng.

Thiết kế khung chi tiết khóa học

Thêm một khung dọc khác và chèn sáu nhãn và sáu hộp văn bản tương ứng với mỗi nhãn. Đổi tên các nhãn như sau:

  • Nhãn13: Tên khóa học
  • Nhãn14: Mã khóa học
  • Nhãn15: Ngày bắt đầu ghi danh
  • Nhãn16: Ngày kết thúc đăng ký
  • Nhãn17: Thời lượng khóa học
  • Nhãn18: Phòng

Liên quan: 4 sai lầm cần tránh khi lập trình macro Excel bằng VBA

Thiết kế khung chi tiết thanh toán

Chèn một khung mới; thêm nhãn mới và đổi tên thành “Bạn có muốn cập nhật chi tiết Thanh toán không?” Chèn hai nút tùy chọn; đổi tên chúng Đúng Không.

Tương tự, thêm một khung mới chứa hai nhãn bổ sung và hai hộp tổ hợp. Đổi tên các nhãn như sau:

  • Nhãn19: Thanh toán nhận được
  • Nhãn20: Phương thức thanh toán

Thiết kế ngăn dẫn hướng

Trong khung cuối cùng, thêm ba nút từ hộp công cụ, sẽ chứa mã để thực hiện các biểu mẫu.

Đổi tên các nút theo cách sau:

  • Nút1: Lưu chi tiết
  • Nút2: Hình thức rõ ràng
  • Nút3: Lối ra

Biểu mẫu người dùng trong Excel VBA

Viết mã biểu mẫu tự động: Nút lưu chi tiết

Bấm đúp vào Lưu chi tiết cái nút. Trong mô-đun tiếp theo, hãy chèn đoạn mã sau:

  Private Sub CommandButton2_Click()‘declare the variables used throughout the codesDim sht As Worksheet, sht1 As Worksheet, lastrow As Long'Add validations to check if character values are being entered in numeric fields.If VBA.IsNumeric(txtApplicationNo.Value) = False ThenMsgBox "Only numeric values are accepted in the Application Number", vbCriticalExit SubEnd IfIf VBA.IsNumeric(txtStudentID.Value) = False ThenMsgBox "Only numeric values are accepted in the Student ID", vbCriticalExit SubEnd IfIf VBA.IsNumeric(txtAge.Value) = False ThenMsgBox "Only numeric values are accepted in Age", vbCriticalExit SubEnd IfIf VBA.IsNumeric(txtPhone.Value) = False ThenMsgBox "Only numeric values are accepted in Phone Number", vbCriticalExit SubEnd IfIf VBA.IsNumeric(Me.txtCourseID.Value) = False ThenMsgBox "Only numeric values are accepted in Course ID", vbCriticalExit SubEnd If'link the text box fields with the underlying sheets to create a rolling databaseSet sht = ThisWorkbook.Sheets("Student Database")'calculate last populated row in both sheetslastrow = sht.Range("a" & Rows.Count).End(xlUp).Row + 1'paste the values of each textbox into their respective sheet cellsWith sht.Range("a" & lastrow).Value = txtApplicationNo.Value.Range("b" & lastrow).Value = txtStudentID.Value.Range("c" & lastrow).Value = txtName.Value.Range("d" & lastrow).Value = txtAge.Value.Range("e" & lastrow).Value = txtDOB.Value.Range("g" & lastrow).Value = txtAddress.Value.Range("h" & lastrow).Value = txtPhone.Value.Range("i" & lastrow).Value = txtCity.Value.Range("j" & lastrow).Value = txtCountry.Value.Range("k" & lastrow).Value = txtZip.Value.Range("l" & lastrow).Value = txtNationality.Value.Range("m" & lastrow).Value = txtCourse.Value.Range("n" & lastrow).Value = txtCourseID.Value.Range("o" & lastrow).Value = txtenrollmentstart.Value.Range("p" & lastrow).Value = txtenrollmentend.Value.Range("q" & lastrow).Value = txtcourseduration.Value.Range("r" & lastrow).Value = txtDept.ValueEnd Withsht.Activate'determine gender as per user's inputIf optMale.Value = True Then sht.Range("g" & lastrow).Value = "Male"If optFemale.Value = True Then sht.Range("g" & lastrow).Value = "Female"'Display a message box, in case the user selects the Yes radio buttonIf optYes.Value = True ThenMsgBox "Please select the payment details below"Else:Exit SubEnd IfEnd Sub 

Nếu bạn không chắc ý nghĩa của các phần hoặc bất kỳ mã nào, đừng lo lắng. Chúng tôi sẽ giải thích cặn kẽ trong phần tiếp theo.

Giải thích mã biểu mẫu tự động

Các hộp văn bản sẽ chứa hỗn hợp các giá trị văn bản và số, vì vậy điều cần thiết là hạn chế đầu vào của người dùng. Các Sô hiệu đăng ki, thẻ học sinh, Lứa tuổi, Điện thoại, Mã khóa họcThời lượng khóa học chỉ nên chứa số, trong khi phần còn lại sẽ chứa văn bản.

Sử dụng một NẾU câu lệnh, mã sẽ kích hoạt cửa sổ bật lên báo lỗi nếu người dùng nhập một ký tự hoặc giá trị văn bản vào bất kỳ trường số nào.

Vì đã có xác thực lỗi nên bạn cần liên kết các hộp văn bản với các ô của trang tính.

Các hàng cuối cùng các biến sẽ tính toán hàng được điền cuối cùng và lưu trữ các giá trị trong đó để sử dụng động.

Cuối cùng, các giá trị được dán từ các hộp văn bản vào trang tính Excel được liên kết.

Xóa mã biểu mẫu và nút thoát

bên trong xa lạ nút, bạn cần viết mã để xóa các giá trị hiện có khỏi biểu mẫu người dùng. Điều này có thể được thực hiện theo cách sau:

  With Me.txtApplicationNo.Value = "".txtStudentID.Value = ""..txtName.Value = "".txtAge.Value = "".txtAddress.Value = "".txtPhone.Value = "".txtCity.Value = "".txtCountry.Value = "".txtDOB.Value = "".txtZip.Value = "".txtNationality.Value = "".txtCourse.Value = "".txtCourseID.Value = "".txtenrollmentstart.Value = "".txtenrollmentend.Value = "".txtcourseduration.Value = "".txtDept.Value = "".cmbPaymentMode.Value = "".cmbPayment.Value = "".optFemale.Value = False.optMale.Value = False.optYes.Value = False.optNo.Value = FalseEnd With 

bên trong lối ra hãy nhập mã sau để đóng biểu mẫu người dùng.

  Private Sub CommandButton5_Click()Unload MeEnd Sub 

Bước cuối cùng, bạn cần nhập một vài đoạn mã cuối cùng để tạo các giá trị thả xuống cho các hộp tổ hợp (trong các khung thanh toán).

  Private Sub UserForm_Activate()With cmbPayment.Clear.AddItem "".AddItem "Yes".AddItem "No"End WithWith cmbPaymentMode.Clear.AddItem "".AddItem "Cash".AddItem "Card".AddItem "Check"End WithEnd Sub 

Tự động hóa VBA giúp công việc dễ dàng hơn

VBA là một ngôn ngữ đa diện phục vụ nhiều mục đích. Biểu mẫu người dùng chỉ là một khía cạnh trong VBA—có nhiều cách sử dụng khác như hợp nhất sổ làm việc và trang tính, hợp nhất nhiều trang tính Excel và các cách sử dụng tự động hóa tiện dụng khác.

Bất kể mục tiêu tự động hóa là gì, VBA đều đáp ứng được nhiệm vụ. Nếu bạn tiếp tục học hỏi và thực hành, không có khía cạnh nào trong quy trình làm việc của bạn mà bạn không thể cải thiện.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status