Lọc dữ liệu vào Combo Box (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

baquang1984

Thành viên tiêu biểu
Tham gia
3/6/10
Bài viết
429
Được thích
44
Nghề nghiệp
Kỹ sư Lâm nghiệp
Em tạo một Combo Box để lọc dữ liệu vào.
yêu cầu của chương trình em đã nêu trong file đính kèm.
Cảm ơn sự giúp đỡ của mọi người!
 

File đính kèm

Em tạo một Combo Box để lọc dữ liệu vào.
yêu cầu của chương trình em đã nêu trong file đính kèm.
Cảm ơn sự giúp đỡ của mọi người!
mình thấy trong file đã có code lọc bằng mảng, bạn tham khảo thêm cách dùng Advanced Filter nhé !

'----
file đính kèm ----> #8
 
Lần chỉnh sửa cuối:
Upvote 0
mình thấy trong file đã có code lọc bằng mảng, bạn tham khảo thêm cách dùng Advanced Filter nhé !
Em cảm ơn anh phucbugis hiện tại em cũng chưa hiểu cách lọc của anh, cách đưa dữ liệu vào Combo Box ở cột phụ K vào không biết theo biến nào ạ và có dùng đến Sub đã có trong Mudun Loc_Data khong ạ. anh có thể giải thích dùm em Code của anh được không ạ để em được học hỏi thêm cách này ạ
Cảm ơn anh!
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh phucbugis hiện tại em cũng chưa hiểu cách lọc của anh, cách đưa dữ liệu vào Combo Box ở cột phụ K vào không biết theo biến nào ạ và có dùng đến Sub đã có trong Mudun Loc_Data khong ạ. anh có thể giải thích dùm em Code của anh được không ạ để em được học hỏi thêm cách này ạ
Cảm ơn anh!
- các giá trị trong ComboBox1 là do mình cài ở Properties điều kiện ListFillRange = K2:K5 --> bạn có thể dùng Name đến gắn vào
- code đó ko liên quan đến Module Loc_Data (Public Sub Loc_DS) cả.

tại Private Sub ComboBox1_Change()
If ComboBox1.MatchFound Then ---> khi nào giá trị của Combobox1 thay đổi và trùng với 1 trong các giá trị của ListFillRange thì mới thực hiện lệnh ở bên dưới nó.
đối với nhóm này:
Mã:
        Sheets("DATA").Range("A1:AI65000").AdvancedFilter Action:=xlFilterCopy, _
                                                    CriteriaRange:=Range("F1:G2"), _
                                                    CopyToRange:=Range("B1:D1"), _
                                                    Unique:=False
Sheets("DATA").Range("A1:AI65000") --> tùy theo vùng dữ liệu bên sheet Data
CriteriaRange:=Range("F1:G2") và CopyToRange:=Range("B1:D1") thì bạn có thể dùng Name để khi chèn thêm cột hoặc thêm điều kiện thì khỏi phải chỉnh lại.
(mình có để lại 2 link cho bạn tham khảo rồi đó)

- cuối cùng là: Range([B2], [B65536].End(xlUp)).Offset(, -1) = [row(a:a)] để điền nhanh STT, chỗ này mình cũng mới biết (do thấy nguời khác dùng và dùng thử vào file của bạn --> vẫn đang tìm hiểu :-=)
 
Lần chỉnh sửa cuối:
Upvote 0
- các giá trị trong ComboBox1 là do mình cài ở Properties điều kiện ListFillRange = K2:K5 --> bạn có thể dùng Name đến gắn vào
- code đó ko liên quan đến Module Loc_Data (Public Sub Loc_DS) cả.
Anh phucbugis cho em hỏi thêm chút là Font chữ trong Combo Box bị lỗi font có cách nào sửa được không ạ
vâng em cảm ơn anh phucbugis đã giúp đỡ!
 
Lần chỉnh sửa cuối:
Upvote 0
- các giá trị trong ComboBox1 là do mình cài ở Properties điều kiện ListFillRange = K2:K5 --> bạn có thể dùng Name đến gắn vào
- code đó ko liên quan đến Module Loc_Data (Public Sub Loc_DS) cả.

tại Private Sub ComboBox1_Change()
If ComboBox1.MatchFound Then ---> khi nào giá trị của Combobox1 thay đổi và trùng với 1 trong các giá trị của ListFillRange thì mới thực hiện lệnh ở bên dưới nó.
đối với nhóm này:
Mã:
        Sheets("DATA").Range("A1:AI65000").AdvancedFilter Action:=xlFilterCopy, _
                                                    CriteriaRange:=Range("F1:G2"), _
                                                    CopyToRange:=Range("B1:D1"), _
                                                    Unique:=False
Sheets("DATA").Range("A1:AI65000") --> tùy theo vùng dữ liệu bên sheet Data
CriteriaRange:=Range("F1:G2") và CopyToRange:=Range("B1:D1") thì bạn có thể dùng Name để khi chèn thêm cột hoặc thêm điều kiện thì khỏi phải chỉnh lại.
(mình có để lại 2 link cho bạn tham khảo rồi đó)

- cuối cùng là: Range([B2], [B65536].End(xlUp)).Offset(, -1) = [row(a:a)] để điền nhanh STT, chỗ này mình cũng mới biết (do thấy nguời khác dùng và dùng thử vào file của bạn --> vẫn đang tìm hiểu :-=)
Nhờ anh phucbugis giúp em là khi em áp dụng vào chương trình của mình thì bị lỗi không chạy được không biết em khai báo sai ở đâu.
Thanks
 

File đính kèm

Upvote 0
Nhờ anh phucbugis giúp em là khi em áp dụng vào chương trình của mình thì bị lỗi không chạy được không biết em khai báo sai ở đâu.
Thanks
hic,
hình như bạn chưa nghiên cứu kỹ cách dùng Advanced Filter (ADF),

khi dùng ADF thì:
- nó sẽ lấy thuộc tính của sheet Data qua.
- các cột mà bạn muốn lọc tại sheet BIEU_01 phải có và phải giống với sheet Data (bạn đã đặt điều kiện lọc bao gồm cột STT -> lỗi) -> do vậy muốn chắc ăn bạn đặt giá trị các Header (BQ1, BR1) bằng trực tiếp các ô bên sheet Data, cho dù bên kia có thay đổi tiêu đề thì vẫn ko ảnh hưởng.
- mình có đơn giản lại cách điền STT --> ko dùng code nữa.

link: https://www.mediafire.com/?q604331p1u1w95e
 
Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom