Cách sử dụng VBA Controls trong UserForms

Bài viết này sẽ trình bày cách sử dụng Controls trong UserForms trong Excel VBA.

VBA có khả năng tạo biểu mẫu mà người dùng có thể tương tác, chẳng hạn như biểu mẫu Hóa đơn hoặc Chi tiết liên hệ. Một biểu mẫu có thể chứa nhiều Điều khiển biểu mẫu như hộp văn bản, Hộp tổ hợp, Hộp danh sách và Nút lệnh. Bài viết này sẽ đề cập đến các điều khiển phổ biến nhất được sử dụng trên biểu mẫu Người dùng, cụ thể là Hộp văn bản, Nhãn, Hộp tổ hợp, Hộp danh sách, Hộp kiểm và Nhóm tùy chọn.

Để tìm hiểu thêm về biểu mẫu người dùng được tạo sẵn và tạo biểu mẫu người dùng tùy chỉnh trong Excel, hãy nhấp vào đây.

Tạo một UserForm

Để tạo UserForm trong Excel VBA, trước tiên chúng ta cần mở VBE Editor.

Để chèn một biểu mẫu người dùng mới vào mã của bạn, hãy chọn UserForm từ Menu Chèn.

Một biểu mẫu người dùng mới sẽ xuất hiện trong Trình khám phá dự án và sẽ được hiển thị trong Cửa sổ mã ở bên phải.

Bạn có thể đổi tên biểu mẫu của mình bằng cách sử dụng Tính chất hộp. Điều này sẽ xuất hiện bên dưới của bạn Trình khám phá dự án.

Nếu nó hiển thị như thế nào, hãy nhấn F4 hoặc bấm vào Quan điểm, Cửa sổ thuộc tính.

Nhấp vào Tên thuộc tính và đổi tên biểu mẫu của bạn.

Bây giờ chúng ta có thể bắt đầu điền vào biểu mẫu của mình bằng các điều khiển - điều khiển hộp văn bản là điều khiển phổ biến nhất cùng với điều khiển nhãn và nút lệnh.

Để điền biểu mẫu bằng các điều khiển, chúng ta cần bật Hộp công cụ.

bên trong Thực đơn, lựa chọn Xem> Hộp công cụ.

Tạo hộp văn bản

Để tạo Hộp văn bản trên biểu mẫu của bạn, hãy chọn điều khiển Hộp văn bản trong Hộp công cụ.

Kéo một hình hộp trên biểu mẫu bằng chuột của bạn, giữ nút bên trái xuống, sau đó thả nút chuột.

Vì đây là Hộp văn bản đầu tiên mà chúng tôi đang tạo nên nó sẽ được đặt tên là TextBox1. Như với biểu mẫu, bạn có thể sử dụng cửa sổ Thuộc tính để đổi tên hộp văn bản.

Chúng ta có thể tiếp tục tạo bao nhiêu hộp văn bản trong biểu mẫu mà chúng ta yêu cầu và đặt tên chúng sao cho phù hợp bằng cách sử dụng thuộc tính Name trong Cửa sổ Thuộc tính.

Tạo điều khiển nhãn

Điều khiển nhãn cho chúng ta biết hộp văn bản sẽ được sử dụng để chứa những gì. Bạn kéo trên biểu mẫu theo cách giống như cách bạn làm đối với Hộp văn bản, và sau đó bạn có thể nhập văn bản được yêu cầu trong điều khiển nhãn, ví dụ: Tên như được hiển thị bên dưới.

Đối với các hộp văn bản, hãy tiếp tục tạo số lượng theo yêu cầu trong biểu mẫu.

Tạo điều khiển hộp tổ hợp

Hộp Tổ hợp (hoặc hộp thả xuống) cho phép người dùng chọn từ danh sách các giá trị. Để tạo hộp tổ hợp, hãy bấm vào hộp công cụ trên điều khiển Hộp tổ hợp, bấm và kéo hộp tổ hợp trong biểu mẫu của bạn.

Đặt tên cho Hộp tổ hợp một cách thích hợp.

Thêm giá trị vào Hộp tổ hợp

Để điền vào nó các giá trị, chúng ta cần viết mã vào Khởi tạo phương thức của đối tượng Biểu mẫu người dùng.

Để đến Mã đằng sau biểu mẫu (CBF), hãy nhấp đúp vào biểu mẫu hoặc nhấp vào nút mã trong Trình khám phá dự án để chuyển sang chế độ xem mã.

Trong danh sách thả xuống bên trái, hãy chọn Biểu mẫu người dùng, sau đó trong danh sách thả xuống bên phải, hãy chọn Khởi tạo.

Nhập mã sau trong Sub và End Sub để điền vào hộp thả xuống:

1234 Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas"

Tất nhiên, chúng tôi có thể đưa vào danh sách với các tiểu bang còn lại ở Hoa Kỳ!

Để chạy biểu mẫu người dùng để xem danh sách đang hoạt động, 1) chuyển về chế độ xem biểu mẫu và sau đó, 2) trong Thanh công cụ, hãy nhấp vào Chạy cái nút.

Nhấp vào mũi tên thả xuống để xem danh sách.

Chúng tôi cũng có thể sử dụng một Phạm vi trong Excel để điền Hộp tổ hợp.

123456 Private Sub UserForm_Initialize ()Dim rng As RangeĐối với mỗi rng trong phạm vi ("A1: A50")Me.cboState.AddItem rng.ValueRng tiếp theoKết thúc Sub

Thao tác này sẽ chọn bất kỳ giá trị nào được lưu trữ trong Phạm vi A1 đến A50 và điền vào danh sách thả xuống tương ứng.

Tạo điều khiển hộp danh sách

Điều khiển Hộp Danh sách hoạt động theo cách tương tự như điều khiển Hộp Tổ hợp, nhưng cho phép chúng tôi xem tất cả các tùy chọn trên biểu mẫu ở định dạng danh sách.

Chọn điều khiển Hộp Danh sách trong hộp công cụ, sau đó kéo để tạo hộp danh sách trên biểu mẫu của bạn.

Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!

Thêm giá trị vào Hộp danh sách

Trong sự kiện Khởi tạo biểu mẫu, hãy nhập mã sau:

123456 Private Sub UserForm_Initialize ()Dim rng As RangeĐối với mỗi rng trong phạm vi ("A1: A50")Me.lstState.AddItem rng.ValueRng tiếp theoKết thúc Sub

Khi chúng tôi chạy biểu mẫu, hộp danh sách sẽ được hiển thị như minh họa trong hình ảnh bên dưới:

Tạo điều khiển hộp kiểm

Hộp kiểm cho phép người dùng chọn hoặc bỏ chọn một tùy chọn.

Chọn điều khiển Hộp kiểm, sau đó bấm vào biểu mẫu mà bạn muốn.

Sửa đổi chú thích và tên của Hộp kiểm trong Cửa sổ Thuộc tính.

Tạo điều khiển nhóm tùy chọn với các nút tùy chọn

Nhóm tùy chọn cho phép người dùng chọn từ một số tùy chọn có sẵn. Bước đầu tiên trong việc tạo nhóm tùy chọn là thêm Điều khiển khung vào biểu mẫu, sau đó thêm các Nút tùy chọn trong khung đã được thêm. Bằng cách làm này, chúng tôi đảm bảo rằng khi chúng tôi chạy biểu mẫu, chỉ có thể chọn một trong các Nút tùy chọn trong khung tại một thời điểm.

Chọn điều khiển Khung trong hộp công cụ, sau đó kéo để tạo khung trên biểu mẫu của bạn.

Chọn điều khiển Nút tùy chọn trong hộp công cụ và sau đó nhấp vào TRONG khung đã tạo ở trên để thêm nút tùy chọn vào khung. Lặp lại theo yêu cầu.

Nhấp vào khung và 1) sửa đổi tên của khung và Chú thích. Sau đó, 2) nhấp vào từng nút tùy chọn và sửa đổi Chú thích.

Tạo một nút lệnh để thoát khỏi biểu mẫu

Ở giai đoạn này, cách duy nhất để đóng biểu mẫu là sử dụng nút đóng ở góc bên phải của thanh điều khiển biểu mẫu. Cách hiệu quả hơn để thoát khỏi biểu mẫu và một cách mà chúng tôi có nhiều quyền kiểm soát hơn là tạo nút Thoát trên biểu mẫu. Điều này được thực hiện bằng Điều khiển nút lệnh trong Hộp công cụ.

Chọn điều khiển Nút lệnh, sau đó bấm và kéo trong biểu mẫu của bạn để tạo nút.

Sử dụng Thuộc tính chú thích, thay đổi chú thích của nút lệnh thành OK và Bộ tăng tốc thành “O”

Mục đích của Accelerator là để người dùng sử dụng bàn phím để kích hoạt nút, trong trường hợp này Alt + O sẽ kích hoạt nút.

Sản phẩm tuyệt vời. AutoMacro không chỉ viết mã của bạn, nó dạy khi bạn tiếp tục! "- Tony, Vương quốc Anh

Tìm hiểu thêm

Đọc hơn 900 bài đánh giá của chúng tôi

Thêm mã vào nút lệnh

Để nút lệnh hoạt động, chúng ta cần thêm mã phía sau nó để khi nhấp vào nút, mã chạy. Đây được gọi là sự kiện Click của nút.

Để đến sự kiện nhấp chuột, hãy nhấp đúp vào nút trong giao diện thiết kế của biểu mẫu.

1) Sự kiện Click sẽ được tạo tự động vì đây là sự kiện thường được sử dụng cho các nút Command.

2) Nếu chúng ta nhấp vào hộp thả xuống Thủ tục ở phía bên phải, chúng ta sẽ thấy danh sách tất cả các Phương thức sự kiện có sẵn cho Nút lệnh. Danh sách này thay đổi tùy theo loại kiểm soát mà chúng tôi đã tạo vì có các sự kiện khác nhau có sẵn cho các loại kiểm soát khác nhau.

Nhập mã sau vào sự kiện nhấp của nút lệnh.

123456789101112131415 Sub riêng tư cmdOK_Click ()Phạm vi ("E1") = Me.txtFirstnameRange ("E2") = Me.txtSurnamePhạm vi ("E3") = Me.txtCellPhonePhạm vi ("E4") = Me.cboStateIf Me.ckContactInfo = True ThìPhạm vi ("E5") = "Cho phép SMS"KhácRange ("E5") = "Không cho phép SMS"Kết thúc nếuIf Me.opt1.Value = True Then Range ("E6") = Me.opt1.CaptionIf Me.opt2.Value = True Then Range ("E6") = Me.opt2.CaptionIf Me.opt3.Value = True Then Range ("E6") = Me.opt3.CaptionGỡ bỏ tôiKết thúc Sub

Sau đó, chúng tôi có thể chạy biểu mẫu, điền vào các hộp văn bản và chọn từ danh sách thả xuống. Sau đó chúng ta nhấn OK để nhập thông tin vào Excel.

wave wave wave wave wave