Bỏ qua nội dung chính

Làm cách nào để điền hộp văn bản dựa trên lựa chọn hộp kết hợp trên UserForm trong Excel?

Giả sử bạn có một bảng chứa cột Tên và số Nhân viên như hình minh họa bên dưới. Bây giờ bạn cần tạo Biểu mẫu người dùng được nhúng với một hộp tổ hợp thu thập tất cả các tên bên trong và một hộp văn bản sẽ điền số nhân viên tương ứng khi chọn tên từ hộp tổ hợp. Phương pháp trong bài viết này có thể giúp bạn gỡ bỏ nó.

Điền vào hộp văn bản dựa trên lựa chọn hộp kết hợp trên Biểu mẫu người dùng với VBA


Điền vào hộp văn bản dựa trên lựa chọn hộp kết hợp trên Biểu mẫu người dùng với VBA

Vui lòng làm như sau để điền vào hộp văn bản với giá trị tương ứng dựa trên lựa chọn hộp kết hợp trên Biểu mẫu người dùng.

1. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Biểu mẫu người dùng. Xem ảnh chụp màn hình:

3. Sau đó chèn điều khiển hộp Tổ hợp và điều khiển hộp văn bản vào Biểu mẫu người dùng đã tạo như hình minh họa bên dưới.

4. Bấm chuột phải vào bất kỳ khoảng trống nào của Biểu mẫu người dùng, rồi bấm Mã Chế độ xem từ menu ngữ cảnh. Xem ảnh chụp màn hình:

5. Trong cửa sổ Userform (Code) đang mở, vui lòng sao chép và dán mã VBA bên dưới để thay thế bản gốc.

Mã VBA: Điền vào hộp văn bản dựa trên lựa chọn hộp kết hợp trên Biểu mẫu người dùng

Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
    Set xRg = Worksheets("Sheet5").Range("A2:B8")
    Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
    Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub

Chú thích: Trong mã, A2: B2 là phạm vi chứa các giá trị bạn sẽ điền riêng trong cả hộp kết hợp Biểu mẫu người dùng và hộp văn bản. Và Sheet5 là tên của trang tính chứa dải dữ liệu. Vui lòng thay đổi chúng khi bạn cần.

6. Nhấn nút Khác + Q chìa khóa để thoát khỏi Microsoft Visual Basic cho các ứng dụng cửa sổ.

7. nhấp chuột Nhà phát triển > Chèn > Nút lệnh (Điều khiển ActiveX) để chèn một nút lệnh vào trang tính.

8. Nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem từ menu chuột phải. Sau đó sao chép và dán mã VBA vào cửa sổ mã.

Mã VBA: Hiển thị biểu mẫu người dùng

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9. Tắt Chế độ thiết kế trong sổ làm việc.

Nhấp vào nút lệnh để mở biểu mẫu người dùng được chỉ định. Sau đó, bạn có thể thấy tất cả các tên được thu thập trong hộp kết hợp. Khi chọn tên từ hộp kết hợp, số nhân viên tương ứng sẽ được tự động điền vào hộp văn bản như hình minh họa bên dưới.


Các bài liên quan:

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
can the same be don on excel sheet? instead of userform? i am using sheet not userform
This comment was minimized by the moderator on the site
alguem poderia me ajudar estou tentando carregar a combobox e puxar informações para text box so que esta dando erro 381

Private Sub ComboNome_Emissor_Change()
TextArea.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 1)
TextTreinamento_PT.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 3)
TextTreinamento_EC.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 5)
TexStatus_Bloqueio.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 6)


End Sub
This comment was minimized by the moderator on the site
The method is very simple and populates the combo box quite efficiently. However, when I try populating the text box, I get a run-time error '1004': Unable to get the VLookup property of the WorksheetFunction class. Kindly assist with resolving this error.
This comment was minimized by the moderator on the site
I just tried this code and was running into the same issue. I realized I had the xRg variable inside the UserForm block, so it was not being accessed by my ComboBox function. Maybe others are running into the same issue
This comment was minimized by the moderator on the site
Hi,
May I have your Office version? I need the feedback to check for the error.
Thanks for your comment.
This comment was minimized by the moderator on the site
office 2010 32 bit
This comment was minimized by the moderator on the site
Good day,
I have tried the code in Office 2010 32 bit, but no errors occured.
Please make sure the sheet name and cell range in the first VBA code are the same with your actual sheet name and range.
Thanks for your comment.
This comment was minimized by the moderator on the site
Hi,
i have same issue with office 2013. Any solution please
This comment was minimized by the moderator on the site
i have the same problem....
This comment was minimized by the moderator on the site
I too have the same problem
This comment was minimized by the moderator on the site
Hi Chaylon,
Have you replaced the sheet name in the below code line with your actual used worksheet name?
Set xRg = Worksheets("Sheet5").Range("A2:B8")
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations