[UserForm]Combobox | Tự Học VBA

Menu Tự học VBA
  • Trang chủ
  • Diễn đàn Bài viết mới Tìm chủ đề
  • Có gì mới Bài viết mới Hoạt động mới nhất
Đăng nhập Đăng ký Có gì mới? Tìm kiếm

Tìm kiếm

Everywhere Chủ đề This forum This thread Chỉ tìm trong tiêu đề Bởi: Tìm Tìm kiếm nâng cao…
  • Bài viết mới
  • Tìm chủ đề
Menu Đăng nhập Đăng ký
  • Cách upload ảnh lên diễn đàn
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • UserForm
[UserForm]Combobox
  • Thread starter Euler
  • Ngày gửi 6/7/19
Euler

Euler

Administrator
Thành viên BQT 1. Combobox để làm gì? Bạn muốn một list danh sách sổ ra để bạn chọn, và chúng ta nghĩ tới Combobox. Bạn cần đăng nhập để thấy hình ảnh 2. Tạo Combobox như thế nào? Ấn ALT+F11 để mở trình soạn thảo VBA. Tại đây bạn chọn Insert UserForm. Bạn cần đăng nhập để thấy hình ảnh Trên khay công cụ chọn Combobox và kéo vào UserForm Bạn cần đăng nhập để thấy hình ảnh Chèn Combobox ta được: Bạn cần đăng nhập để thấy hình ảnh 3. Nhập dữ liệu cho Combobox Double Click vào Userform chứa Combobox và viết thủ tục sau: Mã: Private Sub UserForm_Initialize() With Me.ComboBox1 .AddItem "Text1" .AddItem "Text2" .AddItem "Text3" End With End Sub Bạn cần đăng nhập để thấy hình ảnh 4. Kiểm chứng một số thông số hay dùng. Ta tạo nút bấm Test và chèn code sau: Mã: Private Sub CommandButton1_Click() MsgBox ComboBox1.ListIndex End Sub Cho UserForm hiện lên và chọn Combobox là Text 1, ấn Test ra kết quả là 0. Tương tự Text2 cho kết quả là 1, Text3 là 2. Ngược lại, nếu ta có các kết quả là 0,1,2 thì làm thế nào để cho hiện ra Text1,Text2, Text3? Chạy code sau: Mã: Sub thinghiem() MsgBox UserForm1.ComboBox1.List(0) End Sub Ta được kết quả là Text1, tương tự nếu thay tham số trên là 1,2 ta được Text2, Text3. Làm thế nào để biết combobox của chúng ta có bao nhiêu phần tử? Chạy code sau cho chúng ta kết quả là 3. Mã: Sub thinghiem2() MsgBox UserForm1.ComboBox1.ListCount End Sub Nguồn tham khảo: Mã: https://www.sejuku.net/blog/37777 Y

Yukino Ichikawa

VIP

Nếu các giá trị Add vào Combobox mà không có quy luật, chẳng hạn là những ký tự không liên quan gì tới nhau, khi đó ta có thể gán các ký tự này vào một string. s = s1,s2,s3,s4,... Rồi dùng Bạn cần đăng nhập để thấy link để tách s thành các phần tử s1,s2,s3,... nạp vào mảng, dùng for~next để gán. Ở đây mình giới thiệu thêm một cách khác, đó là dùng hàm Bạn cần đăng nhập để thấy link . Ví dụ dưới đây mình muốn gán tên các tháng vào Combobox1 : Bạn cần đăng nhập để thấy hình ảnh Code là: Mã: Private Sub UserForm_Initialize() Dim i As Integer For i = 1 To 12 Step 1 ComboBox1.AddItem Choose(i, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") Next i End Sub vbano1

vbano1

SMod
Thành viên BQT Nạp nhanh: Mã: ComboBox1.List = Array("een", "twee", "drie") Hoặc: Mã: ComboBox1.List = arr 'Mảng một chiều V

Vũ Xuân Phát

Yêu THVBA
Xin cho mình hỏi vấn đề này. Mình có 1 UserForm để nhập liệu, Mình có tạo những combobox để nhập thông tin. Mình nạp dữ liệu vào Combobox trực tiếp từ sheet chứa dữ liệu nhập vào. Ví dụ: mình có Combobox "Tên đường". Thì mình muốn nạp dữ liệu vào để lần sau nhập vào khi nhập lại cùng tên đường đó thì combobox dropdown gợi ý ra cho mình. Tuy nhiên, khi có 1 tên đường mới không có trong dữ liệu. Thì combobox không có nhập. Nhờ anh/chị hỗ trợ vấn đề này được ko ạ? tuhocvba

tuhocvba

Administrator
Thành viên BQT Kết hợp combobox với listbox sẽ cho hiệu quả rất tốt. Trên diễn đàn có topic rồi, mình không có thời gian tìm, bạn chịu khó tìm. tuhocvba

tuhocvba

Administrator
Thành viên BQT Tôi chưa tìm thấy tài liệu nào nói về số cột giới hạn trong listbox. Bạn cung cấp file demo xem sao . Đây cũng là cách làm việc chuyên nghiệp ! V

vanthanhVBA

VIP

Với VB.NET cú pháp hơi khác xíu : VB.NET: Dim strData() As String = {"A", "B", "C", "D", "E"} 'Add data ComboBox1.Items.AddRange(strData) Bạn phải đăng nhập hoặc đăng ký để bình luận. Chia sẻ: Facebook Twitter WhatsApp Email Link
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • UserForm
Top

Từ khóa » Gán Giá Trị Cho Combobox Trong Vba