Khi tạo Biểu mẫu người dùng trong Excel VBA, bạn có thể sử dụng bộ sưu tập Điều khiển để dễ dàng lặp qua các điều khiển và đặt thuộc tính của từng điều khiển thành một giá trị cụ thể.

Userform mà chúng ta sẽ tạo ra như sau:

Controls Collection in Excel VBA

Để tạo Biểu mẫu người dùng này, hãy thực hiện các bước sau:

  1. Mở Trình soạn thảo Visual Basic. Nếu Project Explorer không hiển thị, hãy bấm View, Project Explorer.

  2. Nhấp vào Chèn, Biểu mẫu người dùng. Nếu Hộp công cụ không tự động xuất hiện, hãy bấm Xem, Hộp công cụ. Màn hình của bạn sẽ được thiết lập như bên dưới.

Userform Screen Setup in Excel VBA

  1. Thêm nhãn, hộp văn bản (đầu tiên ở trên cùng, thứ hai ở dưới hộp đầu tiên, v.v.) và nút lệnh. Khi điều này đã được hoàn thành, kết quả sẽ phù hợp với hình ảnh của Biểu mẫu người dùng được hiển thị trước đó. Ví dụ: tạo điều khiển hộp văn bản bằng cách nhấp vào TextBox từ Hộp công cụ. Tiếp theo, bạn có thể kéo một hộp văn bản trên Biểu mẫu người dùng.

  2. Để thay đổi chú thích của Userform, nhãn và nút lệnh, hãy nhấp vào View, Properties Window và nhấp vào từng điều khiển.

  3. Để hiển thị Biểu mẫu người dùng, hãy đặt một nút lệnh trên trang tính của bạn và thêm dòng mã sau:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Giải thích: bằng cách thêm vbModeless, bạn có thể sử dụng Biểu mẫu người dùng và làm việc trong trang tính của mình cùng một lúc.

Bây giờ chúng tôi đã tạo phần đầu tiên của Biểu mẫu người dùng. Mặc dù nó trông đã gọn gàng rồi, nhưng sẽ không có gì xảy ra khi chúng ta nhấp vào nút lệnh trên Userform.

  1. Mở Trình soạn thảo Visual Basic.

  2. Trong Project Explorer, nhấp đúp vào UserForm1.

  3. Nhấp đúp vào nút lệnh.

  4. Thêm các dòng mã sau:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10

Controls("TextBox" & i).Value = Cells(i + 1, 1).Value

Next i

End Sub

Giải thích: Chỉ với một vài dòng mã, chúng ta có thể điền vào các hộp văn bản với số điện thoại từ trang tính. Chúng tôi đã sử dụng toán tử & để nối (nối) các phần tử. Các dòng mã này hoạt động vì chúng tôi không thay đổi tên của các điều khiển hộp văn bản (TextBox1, TextBox2, TextBox3, v.v.). Để thay đổi tên của các điều khiển, hãy bấm Chế độ xem, Cửa sổ Thuộc tính và bấm vào từng điều khiển.

Kết quả khi bạn bấm vào nút lệnh trên sheet:

Controls Collection Result