Em muốn tạo 1 ComboBox tùy chọn 1 danh sách không có trên bảng tính . Em nghĩ là phải thiết kết từ code VBA và gán Marco vào ComboBox nhưng chưa tìm được giải thuật cụ thể.
Các bác cho em xin ý tưởng với ạ.
Em muốn tạo 1 ComboBox tùy chọn 1 danh sách không có trên bảng tính . Em nghĩ là phải thiết kết từ code VBA và gán Marco vào ComboBox nhưng chưa tìm được giải thuật cụ thể.
Các bác cho em xin ý tưởng với ạ.
Em muốn tạo 1 ComboBox tùy chọn 1 danh sách không có trên bảng tính . Em nghĩ là phải thiết kết từ code VBA và gán Marco vào ComboBox nhưng chưa tìm được giải thuật cụ thể.
Các bác cho em xin ý tưởng với ạ.
Góp ý cho bạn:
Muốn làm cái gì thì cũng nên đính kèm File với 1 sheet theo dõi (với tiêu đề đầy đủ và 1 ít dữ liệu), dữ liệu có thể là giả định, 1 sheet danh sách cần lấy vào ComboBox.
Chứ nêu vấn đề khơi khơi thì chẳng có thành viên nào giúp đươc.
mình làm dropbox, nhưng có 100 sản phảm thì tìm rất mất thời gian. có cách nào để mình gõ chữ cái đầu nó hiện ra các dòng có liên quan ko vậy mọi người
Đối với object thuộc Form Controls bạn không làm vậy được! Cụ thể với ComboBox trong file của bạn, ta phải làm thế này:
1> Tạo 1 module với code:
Mã:
Sub CreateCboList()
Dim drp As DropDown
Set drp = Sheet1.DropDowns("Drop Down 1")
drp.List = Array("a", "b", "c", "d")
End Sub
Hoặc ngắn gọn:
Mã:
Sub CreateCboList()
Sheet1.DropDowns("Drop Down 1").List = Array("a", "b", "c", "d")
End Sub
Trong đó cái tên "Drop Down 1" là tên mà bạn nhìn thấy trong hộp Name box (khi click chọn vào ComboBox)
2> Tiếp theo chạy sub trên rồi ra ngoài bảng tính, kiểm tra combobox sẽ thấy list đã được thêm vào
----------------------
Trong 2 cách viết code, tôi thích cách ở trên hơn, vì khi bạn khai báo drp as DropDown xong, lúc gõ drp và dấu chấm.... ngay sau dấu chấm bạn sẽ nhìn thấy tooltip xổ xuống gợi ý các thuộc tính và phương thức. Như vậy sẽ đở mất công thuộc lòng
2> Tiếp theo chạy sub trên rồi ra ngoài bảng tính, kiểm tra combobox sẽ thấy list đã được thêm vào
----------------------
Trong 2 cách viết code, tôi thích cách ở trên hơn, vì khi bạn khai báo drp as DropDown xong, lúc gõ drp và dấu chấm.... ngay sau dấu chấm bạn sẽ nhìn thấy tooltip xổ xuống gợi ý các thuộc tính và phương thức. Như vậy sẽ đở mất công thuộc lòng
bác cho e hỏi giờ muốn lấy giá trị trong mảng đó và kiểm tra điều kiện và lọc với mảng bên dưới để in danh sách thì phải khai báo kiểu gì để lấy được ra ạ. Em chưa kiểu rõ lắm
bác cho e hỏi giờ muốn lấy giá trị trong mảng đó và kiểm tra điều kiện và lọc với mảng bên dưới để in danh sách thì phải khai báo kiểu gì để lấy được ra ạ. Em chưa kiểu rõ lắm
Làm như sau:
1> Cho toàn bộ code dưới đây vào 1 module:
Mã:
Public drp As DropDown
Private Sub Auto_Open()
Set drp = Sheet1.DropDowns("Drop Down 1")
CreateCboList
End Sub
Private Sub CreateCboList()
drp.List = Array("*", "a", "b", "c", "d")
End Sub
Sub CboFilter()
If drp Is Nothing Then Auto_Open
Dim sFilter As String, rng As Range
Set rng = Sheet1.Range("A5", Sheet1.Range("E60000").End(xlUp))
sFilter = drp.List(drp.Value)
If sFilter = "*" Then
rng.AutoFilter 3
Else
rng.AutoFilter 3, sFilter
End If
End Sub
2> Ra ngoài bảng tính, click phải chuột vào ComboBox, chọn Assign Macro, chọn macro name "CboFilter" rồi bấm OK
3> Tiếp theo, đóng vào lưu file
4> Mở lại file (đương nhiên phải Enable Macro) và... trải nghiệm
mình làm dropbox, nhưng có 100 sản phảm thì tìm rất mất thời gian. có cách nào để mình gõ chữ cái đầu nó hiện ra các dòng có liên quan ko vậy mọi người
Theo tôi hiểu là bạn muốn tìm 1 loại vật tư (ví dụ: xi măng có nhiều loại và nhiều giá) để chọn áp giá và nhập liệu cho nhanh.
Nếu đúng vậy thì nên dùng UserForm thì sẽ hiệu quả hơn
Theo tôi hiểu là bạn muốn tìm 1 loại vật tư (ví dụ: xi măng có nhiều loại và nhiều giá) để chọn áp giá và nhập liệu cho nhanh.
Nếu đúng vậy thì nên dùng UserForm thì sẽ hiệu quả hơn
Bác NDU cho em hỏi chút là với trường hợp các biến ở trong mảng khá nhiều và không muốn viết nó ra 1 vùng dữ liệu trong bảng tính thì kết với giữa việc nhập biến với vòng lặp for để thêm giá trị trong biến được không ạ?
Theo tôi hiểu là bạn muốn tìm 1 loại vật tư (ví dụ: xi măng có nhiều loại và nhiều giá) để chọn áp giá và nhập liệu cho nhanh.
Nếu đúng vậy thì nên dùng UserForm thì sẽ hiệu quả hơn