Excel VBA Userform - Làm thế nào để tạo một biểu mẫu người dùng tương tác?

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

Biểu mẫu người dùng trong VBA là các biểu mẫu tùy chỉnh do người dùng xác định, được tạo ra để lấy đầu vào từ người dùng ở định dạng biểu mẫu, nó có các bộ điều khiển khác nhau để thêm vào chẳng hạn như hộp văn bản, nhãn hộp kiểm, v.v. để hướng dẫn người dùng nhập giá trị và nó lưu trữ giá trị trong trang tính, mọi phần của biểu mẫu người dùng có một mã duy nhất với nó.

Biểu mẫu người dùng là một đối tượng trong giao diện Excel và bên trong biểu mẫu người dùng này, chúng ta có thể tạo các hộp thoại tùy chỉnh hữu ích khác để lấy dữ liệu từ người dùng. Khi bạn đang làm việc với một tệp macro được tạo bởi cấp cao của bạn hoặc có thể được tải xuống từ internet, bạn hẳn đã thấy một biểu mẫu người dùng như thế này.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo một biểu mẫu người dùng tương tự để lưu trữ dữ liệu từ người dùng.

Cách tạo Biểu mẫu người dùng?

Giống như cách bạn chèn một mô-đun mới, bạn cần nhấp vào nút INSERT trong Visual Basic Editor để chèn Userform.

Ngay sau khi bạn nhấp vào đây, biểu mẫu người dùng cũng sẽ được chèn.

Trước khi tôi cho bạn biết cách lập trình này, hãy để tôi chỉ cho bạn cách định dạng biểu mẫu người dùng này.

Định dạng biểu mẫu người dùng

Bằng cách chọn userform, nhấn phím F4, nó sẽ hiển thị cho bạn cửa sổ thuộc tính.

Sử dụng cửa sổ thuộc tính này, chúng tôi có thể định dạng biểu mẫu người dùng này. Chúng ta có thể đặt tên cho nó. Chúng tôi có thể thay đổi màu sắc, kiểu đường viền, v.v.…

Như thế này, hãy thử các thuộc tính khác để biết được biểu mẫu người dùng.

Bây giờ đối với biểu mẫu người dùng này, hãy chèn Hộp công cụ.

Bây giờ chúng ta sẽ thấy một hộp công cụ như thế này.

Tại thời điểm này, biểu mẫu người dùng chỉ được chèn vào, không được lập trình. Để biết nó hoạt động như thế nào, chỉ cần nhấp vào nút chạy. Chúng ta sẽ thấy biểu mẫu trên trang tính excel.

Bây giờ sử dụng nhãn vẽ ToolBox.

Nhập Văn bản dưới dạng Tên nhân viên bên trong nhãn.

Đối với nhãn này, vì vậy chúng tôi có thể định dạng bằng cách sử dụng các thuộc tính. Bây giờ chúng ta đã nhập văn bản là “Tên nhân viên:” bây giờ chúng ta có thể thấy điều này trong cửa sổ thuộc tính bên dưới Phụ đề.

Chèn thêm một nhãn. Để chèn thêm một nhãn, bạn có thể nhấp vào hộp công cụ hoặc bạn có thể kéo nhãn hiện tại bằng cách giữ phím Ctrl . Bạn sẽ có một bản sao của nhãn hiện tại.

Bây giờ chúng ta sẽ có cùng một nhãn.

Thay đổi tên thành ID nhân viên.

Bây giờ, hãy chèn thêm một nhãn nữa và đặt tên là “Bộ phận”.

Bây giờ từ hộp công cụ, hãy chèn một hộp văn bản.

Đặt tên cho hộp văn bản này là EmpName trong cửa sổ thuộc tính.

Như thế này, hãy chèn thêm hai hộp văn bản nữa từ ID nhân viên & Phòng ban, tương ứng. Đặt tên các hộp văn bản đó theo tiêu đề của chúng.

Tương tự, hãy làm điều đó cho Sở.

Bây giờ từ hộp công cụ, hãy chèn Nút lệnh.

Thay đổi tên của nút lệnh thành “SubmitButton” và thay đổi chú thích thành “Gửi”.

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.

VBA Code

Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.

Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the SUBMIT button as SubmitButton.

So, whenever we want to call this button, we can call this by this name (submit button). Inside this macro, copy and paste the below code.

Code:

Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub
  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of the Employee ID text box.
  • Dept.Value this is the department text box name.

So, on the click on the submit button, it will store the values in the mentioned cells.

Now double click on the Cancel button. This will also show you the auto macro name like this.

Copy the below code and paste.

Code:

Private Sub CancelButton_Click() MyUserForm.Hide End Sub

MyUserForm là tên mà chúng tôi đã đặt cho biểu mẫu người dùng. MyUserForm.Hide có nghĩa là khi nhấp vào nút HỦY, nó sẽ ẩn biểu mẫu người dùng.

Được rồi, bây giờ hãy tạo một mẫu như thế này trong trang tính.

Xóa tất cả các trang tính khác trong sổ làm việc ngoại trừ trang tính mẫu này.

Bây giờ đi tới Visual Basic Editor.

Và chạy macro bằng cách sử dụng phím F5 hoặc theo cách thủ công, chúng ta sẽ thấy biểu mẫu người dùng trước mặt chúng ta.

Nhập tên nhân viên, id nhân viên và tên Bộ phận.

Bây giờ, nếu bạn nhấp vào nút SUBMIT, nó sẽ lưu các giá trị vào mẫu mà chúng ta đã tạo.

Như thế này, bạn có thể tiếp tục nhập tên. Biểu mẫu người dùng sẽ tiếp tục lưu trữ các giá trị do người dùng nhập vào các ô được chỉ định.

Vì vậy, bằng cách sử dụng USER FORM, chúng tôi thực sự có thể tạo ra các dự án tuyệt vời để lấy thông tin từ người dùng.

thú vị bài viết...