Làm việc với UserForms trong Excel 2016 VBA

0
4

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:

  1. Kích hoạt VBE bằng cách nhấn Alt + F11.
  2. Chọn sổ làm việc sẽ giữ UserForm trong cửa sổ Project.
  3. 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ểnNhững gì nó làm
NhãnHiển thị văn bản
Hộp văn bảnCho phép người dùng nhập văn bản
ComboBoxHiển thị danh sách thả xuống
ListBoxHiển thị danh sách các mục
Hộp kiểmCung cấp các tùy chọn như bật / tắt hoặc có / không
Nút tùy chọnCho 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ắtCho phép người dùng bật hoặc tắt nút
KhungChứa các điều khiển khác
Nút lệnhMột nút có thể nhấp
TabStripHiển thị các tab
Nhieu trangMột thùng chứa theo thẻ cho các đối tượng khác
Thanh cuộnCho phép người dùng kéo thanh để thiết lập cài đặt
SpinButtonCho phép người dùng nhấp vào nút để thay đổi giá trị
Hình ảnhGiữ một hình ảnh
Chỉnh sửaCho 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:

  1. Đảm bảo rằng điều khiển chính xác được chọn trong UserForm.
  2. Hãy chắc chắn rằng cửa sổ Properties được hiển thị.
  3. Trong cửa sổ Thuộc tính, bấm vào thuộc tính mà bạn muốn thay đổi.
  4. 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

Khóa học VBA Excel tại Hà Nội

LEAVE A REPLY

Please enter your comment!
Please enter your name here