Chèn một UserForm mới
Chèn một đối tượng UserForm bằng cách làm theo các bước sau:
- Kích hoạt VBE bằng cách nhấn Alt + F11.
- Chọn sổ làm việc sẽ giữ UserForm trong cửa sổ Project.
- Chọn Chèn → UserForm. VBE chèn một đối tượng UserForm mới, chứa một hộp thoại trống.
Đây là một UserForm – một hộp thoại trống. Công việc của bạn, nếu bạn chọn chấp nhận nó, là thêm một số điều khiển vào UserForm này.

Thêm điều khiển vào UserForm
Khi bạn kích hoạt UserForm, VBE sẽ hiển thị Hộp công cụ trong cửa sổ nổi. Bạn sử dụng các công cụ trong Hộp công cụ để thêm các điều khiển vào UserForm của bạn. Nếu, vì một số lý do, Hộp công cụ không xuất hiện khi bạn kích hoạt UserForm của mình, hãy chọn Xem → Hộp công cụ.
Để thêm điều khiển, chỉ cần nhấp vào điều khiển mong muốn trong Hộp công cụ và kéo nó vào hộp thoại để tạo điều khiển. Sau khi bạn thêm một điều khiển, bạn có thể di chuyển và thay đổi kích thước nó bằng cách sử dụng các kỹ thuật tiêu chuẩn.
Dưới đây là danh sách các công cụ khác nhau, cũng như khả năng của chúng.
Điều khiển | Những gì nó làm |
---|---|
Nhãn | Hiển thị văn bản |
Hộp văn bản | Cho phép người dùng nhập văn bản |
ComboBox | Hiển thị danh sách thả xuống |
ListBox | Hiển thị danh sách các mục |
Hộp kiểm | Cung cấp các tùy chọn như bật / tắt hoặc có / không |
Nút tùy chọn | Cho phép người dùng chọn một trong một số tùy chọn; được sử dụng trong nhóm hai hoặc nhiều hơn |
Nút bật tắt | Cho phép người dùng bật hoặc tắt nút |
Khung | Chứa các điều khiển khác |
Nút lệnh | Một nút có thể nhấp |
TabStrip | Hiển thị các tab |
Nhieu trang | Một thùng chứa theo thẻ cho các đối tượng khác |
Thanh cuộn | Cho phép người dùng kéo thanh để thiết lập cài đặt |
SpinButton | Cho phép người dùng nhấp vào nút để thay đổi giá trị |
Hình ảnh | Giữ một hình ảnh |
Chỉnh sửa | Cho phép người dùng chọn một phạm vi |
Thay đổi thuộc tính cho điều khiển UserForm
Mỗi điều khiển bạn thêm vào UserForm đều có các thuộc tính xác định cách điều khiển trông hoặc hành xử. Ngoài ra, bản thân UserForm có tập các thuộc tính riêng. Bạn có thể thay đổi các thuộc tính này với cửa sổ Thuộc tính được đặt tên khéo léo. Điều này hiển thị cửa sổ Thuộc tính khi điều khiển CommandButton được chọn.

Cửa sổ Thuộc tính xuất hiện khi bạn nhấn F4 và các thuộc tính được hiển thị trong cửa sổ này tùy thuộc vào nội dung được chọn. Nếu bạn chọn một điều khiển khác, các thuộc tính sẽ thay đổi thành các điều khiển thích hợp cho điều khiển đó. Để ẩn cửa sổ Thuộc tính và đưa nó ra khỏi đường đi, hãy nhấp vào nút Đóng trong thanh tiêu đề của nó. Nhấn F4 luôn mang nó trở lại khi bạn cần.
Các thuộc tính cho điều khiển bao gồm:
- Tên
- Chiều rộng
- Chiều cao
- Giá trị
- Chú thích
Mỗi điều khiển có tập thuộc tính riêng (mặc dù nhiều điều khiển có một số thuộc tính chung). Để thay đổi thuộc tính bằng cửa sổ Thuộc tính, hãy làm theo các bước sau:
- Đảm bảo rằng điều khiển chính xác được chọn trong UserForm.
- Hãy chắc chắn rằng cửa sổ Properties được hiển thị.
- Trong cửa sổ Thuộc tính, bấm vào thuộc tính mà bạn muốn thay đổi.
- Thực hiện thay đổi trong phần bên phải của cửa sổ Thuộc tính.
Nếu bạn chọn chính UserForm (không phải điều khiển trên UserForm), bạn có thể sử dụng cửa sổ Thuộc tính để điều chỉnh các thuộc tính UserForm.
Xem cửa sổ Mã người dùng
Mỗi đối tượng UserForm đều có mô-đun Mã chứa mã VBA (quy trình xử lý sự kiện) được thực thi khi người dùng làm việc với hộp thoại. Để xem mô-đun Mã, nhấn F7. Cửa sổ Code trống cho đến khi bạn thêm một số thủ tục. Nhấn Shift + F7 để quay lại hộp thoại.
Đây là một cách khác để chuyển đổi giữa cửa sổ Mã và màn hình UserForm: Sử dụng các nút Xem Mã và Xem Đối tượng trong thanh tiêu đề của cửa sổ Dự án. Hoặc bấm chuột phải vào UserForm và chọn Xem mã. Nếu bạn đang xem mã, bấm đúp vào tên UserForm trong cửa sổ Dự án để trở về UserForm.
Hiển thị một UserForm
Bạn hiển thị UserForm bằng cách sử dụng phương thức Show của UserForm trong quy trình VBA.
Quy trình sau đây hiển thị hộp thoại có tên UserForm1:
Sub ShowDialogBox ()
UserForm1.Show
Các báo cáo khác có thể vào đây
Kết thúc phụ
Khi Excel hiển thị hộp thoại, macro ShowDialogBox tạm dừng cho đến khi người dùng đóng hộp thoại. Sau đó, VBA thực hiện bất kỳ câu lệnh nào còn lại trong thủ tục. Hầu hết thời gian, bạn sẽ không có thêm mã trong thủ tục. Như bạn thấy sau này, bạn đặt các quy trình xử lý sự kiện của mình vào cửa sổ Mã cho UserForm. Các quy trình này khởi động khi người dùng làm việc với các điều khiển trên UserForm.
Sử dụng thông tin từ UserForm
VBE cung cấp tên cho mỗi điều khiển bạn thêm vào UserForm. Tên của điều khiển tương ứng với thuộc tính Tên của nó. Sử dụng tên này để chỉ một điều khiển cụ thể trong mã của bạn. Ví dụ: nếu bạn thêm điều khiển CheckBox vào UserForm có tên UserForm1, thì điều khiển CheckBox được đặt tên là CheckBox1 theo mặc định. Bạn có thể sử dụng hộp Thuộc tính để làm cho điều khiển này xuất hiện với dấu kiểm. Hoặc bạn có thể viết mã để làm điều đó:
UserForm1.CheckBox1.Value = True
Hầu hết thời gian, bạn viết mã cho một UserForm trong mô-đun mã của UserForm. Nếu đó là trường hợp, bạn có thể bỏ qua vòng loại đối tượng UserForm và viết câu lệnh như sau:
CheckBox1.Giá trị = Đúng
Mã VBA của bạn cũng có thể kiểm tra các thuộc tính khác nhau của các điều khiển và thực hiện các hành động thích hợp. Câu lệnh sau đây thực thi một macro có tên PrintReport nếu hộp kiểm (có tên là CheckBox1) được chọn:
Nếu CheckBox1.Value = True thì hãy gọi PrintReport
Xem thêm: Kỹ thuật sửa lỗi cho Excel 2016 VBA