Cần giúp tạo thêm 1 activeX textbox kèm thêm điều kiện filter

Liên hệ QC

doinho

Thành viên thường trực
Tham gia
22/8/08
Bài viết
234
Được thích
9
Chào các bạn GPE,

Mình đang gặp vấn đề trong việc tạo ActiveX Textbox để filter cho nhanh; chỉ cần gõ từ vào textbox là cột đó sẽ được filter theo thời gian thực. Hiện mình đã làm được điều đó (tham khảo trên internet).

Tuy nhiên, theo nhu cầu công việc, mình cần tạo thêm một ActiveX Textbox nữa để filter kèm thêm điều kiện thứ 2, mối quan hệ giữa 2 điều kiện này là "và"

Ví dụ: Trong file đính kèm, mình có vùng từ A5:A11 chứa những nội như sau:
Hoa hồng thơm
Hoa hồng đẹp
Hoa hồng có gai
Hoa hồng tươi
Hoa lan
Hoa mai
Hoa đào

Mình đã làm ra ActiveX Textbox1, và mình muốn tạo ra ActiveX Textbox2, mỗi cái ứng với một điều kiện, và giá trị chứa đoạn text nào thỏa cả 2 điều kiện trong 2 ActiveX Textbox thì sẽ được hiện lên.

VD:
Trong ActiveX Textbox1, mình gõ "thơm" và
ActiveX Textbox2, mình gõ "hồng"
thì giá trị "Hoa hồng thơm" sẽ được giữ lại, các điều kiện khác sẽ bị mất đi

Trong file mình đã làm được 1 cái ActiveX Textbox cho điều kiện 1, các bạn giúp mình làm thêm 1 ActiveX Textbox thỏa điều kiện 2 với.

Cảm ơn các bạn nhiều
 

File đính kèm

  • Active Textbox filter nhieu dieu kien.xlsm
    16.2 KB · Đọc: 12
Chào các bạn GPE,

Mình đang gặp vấn đề trong việc tạo ActiveX Textbox để filter cho nhanh; chỉ cần gõ từ vào textbox là cột đó sẽ được filter theo thời gian thực. Hiện mình đã làm được điều đó (tham khảo trên internet).
.......................................
Cảm ơn các bạn nhiều
Không biết thì đừng bắt người ta làm theo kiểu của mình. Bạn nêu vấn đề là muốn làm cái gì? và chỉ cần nêu ngắn gọn thì các thành viên mới hiểu.
Ví dụ: Tại Sheet2 (chứa dữ liệu, tiêu đề cần đầy đủ) cần lọc cái gì qua Sheet3 gán thử 1 kết quả. Chứ không cần giải thích dông dài.
 
Ví dụ: (1) Trong file đính kèm, mình có vùng từ A5:A11 chứa những nội như sau:
Hoa hồng thơm
Hoa hồng đẹp
Hoa hồng có gai
Hoa hồng tươi
Hoa lan
Hoa mai
Hoa đào
(2) Mình đã làm ra ActiveX Textbox1, và (3) mình muốn tạo ra ActiveX Textbox2, mỗi cái ứng với một điều kiện, và giá trị chứa đoạn text nào thỏa cả 2 điều kiện trong 2 ActiveX Textbox thì sẽ được hiện lên.
(1) Rất dễ để hiểu;
(2) Cái A. TextBox1 này sẽ giúp bạn cái gì?
Chả lẽ ta gõ vô đó từ 'Hồng' thì danh sách chỉ còn 4 dòng (trên cùng) chứa từ này hay ngược lại, chỉ còn 3 dòng bên dưới (cùng)?
(3) Nếu ta gõ vô A. TextBox2 từ 'thơm' thì chỉ còn hiện 1 dòng đầu tiên, fải không?
(Nghĩa là A. TextBox2 làm nhiệm vụ lọc tiếp những gì A. TextBox1 đã lọc?)
 
(1) Rất dễ để hiểu;
(2) Cái A. TextBox1 này sẽ giúp bạn cái gì?
Chả lẽ ta gõ vô đó từ 'Hồng' thì danh sách chỉ còn 4 dòng (trên cùng) chứa từ này hay ngược lại, chỉ còn 3 dòng bên dưới (cùng)?
(3) Nếu ta gõ vô A. TextBox2 từ 'thơm' thì chỉ còn hiện 1 dòng đầu tiên, fải không?
(Nghĩa là A. TextBox2 làm nhiệm vụ lọc tiếp những gì A. TextBox1 đã lọc?)

Bạn hiểu đúng ý mình rồi đó. Để mình mô tả lại cho chi tiết hơn.

VD:
Trong ActiveX Text Box 1 (mình đã làm sẵn) mình gõ chữ "Hồng" thì những ô nào có chữ "Hồng" sẽ được hiện ra, ô nào không chứa sẽ bị ẩn đi (giống như mình filter bình thường). Do đó vùng từ A5:A8 sẽ hiện ra, còn A9:A11 sẽ bị ẩn đi
Bây giờ mình muốn tạo thêm ActiveX Text Box 2, tiếp tục filter chi tiết hơn nữa vùng được giữ lại ở trên, là vùng A5:A8. Và trong ActiveX Text Box 2 này, mình gõ thêm chữ "thơm" thì chỉ còn ô A5 xuất hiện mà thôi, vùng từ A6:A8 sẽ bị ẩn đi.

Các bạn giúp mình tạo thêm ActiveX Text Box 2 và có thể filter được như mình mô ta nha.
 
Chào các bạn GPE,

Mình đang gặp vấn đề trong việc tạo ActiveX Textbox để filter cho nhanh; chỉ cần gõ từ vào textbox là cột đó sẽ được filter theo thời gian thực. Hiện mình đã làm được điều đó (tham khảo trên internet).

Tuy nhiên, theo nhu cầu công việc, mình cần tạo thêm một ActiveX Textbox nữa để filter kèm thêm điều kiện thứ 2, mối quan hệ giữa 2 điều kiện này là "và"

Ví dụ: Trong file đính kèm, mình có vùng từ A5:A11 chứa những nội như sau:
Hoa hồng thơm
Hoa hồng đẹp
Hoa hồng có gai
Hoa hồng tươi
Hoa lan
Hoa mai
Hoa đào

Mình đã làm ra ActiveX Textbox1, và mình muốn tạo ra ActiveX Textbox2, mỗi cái ứng với một điều kiện, và giá trị chứa đoạn text nào thỏa cả 2 điều kiện trong 2 ActiveX Textbox thì sẽ được hiện lên.

VD:
Trong ActiveX Textbox1, mình gõ "thơm" và
ActiveX Textbox2, mình gõ "hồng"
thì giá trị "Hoa hồng thơm" sẽ được giữ lại, các điều kiện khác sẽ bị mất đi

Trong file mình đã làm được 1 cái ActiveX Textbox cho điều kiện 1, các bạn giúp mình làm thêm 1 ActiveX Textbox thỏa điều kiện 2 với.

Cảm ơn các bạn nhiều
Đâu cần 2 TextBox làm gì! Bạn chỉ cần gõ vào TextBox1 từ khóa hồng*thơm là sẽ có ngay kết quả hoa hồng thơm
 
Đâu cần 2 TextBox làm gì! Bạn chỉ cần gõ vào TextBox1 từ khóa hồng*thơm là sẽ có ngay kết quả hoa hồng thơm
Cảm ơn ý kiến của anh.

Tuy nhiên, em cũng đã làm theo cách của anh. "Hồng*thơm" sẽ ra nhưng nếu dò ngược lại là "thơm*hồng" sẽ không được. Em muốn trường hợp tổng quát hơn để dễ áp dụng vào công việc
 
Cảm ơn ý kiến của anh.

Tuy nhiên, em cũng đã làm theo cách của anh. "Hồng*thơm" sẽ ra nhưng nếu dò ngược lại là "thơm*hồng" sẽ không được. Em muốn trường hợp tổng quát hơn để dễ áp dụng vào công việc
Tôi nghĩ cái bạn cần là cái thứ yếu, cái chủ yếu là loại hoa nào của nước nào, đơn giá của nó sau khi lọc xong thì gán nó cho hóa đơn hay gì gì đó nữa?
 
Tôi nghĩ cái bạn cần là cái thứ yếu, cái chủ yếu là loại hoa nào của nước nào, đơn giá của nó sau khi lọc xong thì gán nó cho hóa đơn hay gì gì đó nữa?
à không bạn ơi, nhu cầu của mình đơn giản lắm, chủ yếu là lọc ra những mặt hàng thỏa mãn điều kiện ở 2 cái activex text box thôi.

(Thay vì là phải vào Text Filter rồi gõ trong 2 ô Contains "điều kiện 1" and Contains "điều kiện 2" thì mình muốn gõ thẳng vào 2 cái activex text box luôn cho nhanh)
 
Mà sao cứ fải AutoFilter nhỉ? AdvancedFilter có được không?
 
Mà sao cứ fải AutoFilter nhỉ? AdvancedFilter có được không?

Mình nghĩ thật ra có nhiều phương pháp nhưng công việc mình có nhu cầu search nhiều theo dạng đó nên mình muốn tạo ra 2 cái activex textbox, gõ thẳng điều kiện vào đó là ra kết quả ngay, còn các phương pháp khác cũng có thể thực hiện được nhưng tiến độ làm việc sẽ không nhanh lắm.
 
Mình nghĩ thật ra có nhiều phương pháp nhưng công việc mình có nhu cầu filter nhiều (theo data có sẵn) theo dạng đó nên mình muốn tạo ra 2 cái activex textbox, gõ thẳng điều kiện vào đó là ra kết quả ngay, còn các phương pháp khác cũng có thể thực hiện được nhưng tiến độ làm việc sẽ không nhanh lắm.
 
Vấn đề còn là chuyện: Bạn sẽ làm gì với daanh sách sau 2 lần lọc đó?
 
Chào các bạn GPE,

Mình đang gặp vấn đề trong việc tạo ActiveX Textbox để filter cho nhanh; chỉ cần gõ từ vào textbox là cột đó sẽ được filter theo thời gian thực. Hiện mình đã làm được điều đó (tham khảo trên internet).

Tuy nhiên, theo nhu cầu công việc, mình cần tạo thêm một ActiveX Textbox nữa để filter kèm thêm điều kiện thứ 2, mối quan hệ giữa 2 điều kiện này là "và"

Ví dụ: Trong file đính kèm, mình có vùng từ A5:A11 chứa những nội như sau:
Hoa hồng thơm
Hoa hồng đẹp
Hoa hồng có gai
Hoa hồng tươi
Hoa lan
Hoa mai
Hoa đào

Mình đã làm ra ActiveX Textbox1, và mình muốn tạo ra ActiveX Textbox2, mỗi cái ứng với một điều kiện, và giá trị chứa đoạn text nào thỏa cả 2 điều kiện trong 2 ActiveX Textbox thì sẽ được hiện lên.

VD:
Trong ActiveX Textbox1, mình gõ "thơm" và
ActiveX Textbox2, mình gõ "hồng"
thì giá trị "Hoa hồng thơm" sẽ được giữ lại, các điều kiện khác sẽ bị mất đi

Trong file mình đã làm được 1 cái ActiveX Textbox cho điều kiện 1, các bạn giúp mình làm thêm 1 ActiveX Textbox thỏa điều kiện 2 với.

Cảm ơn các bạn nhiều
Mã:
Private Sub TextBox1_Change()
  Call GPE
End Sub
Private Sub TextBox2_Change()
  Call GPE
End Sub
Sub GPE()
  ActiveSheet.Range("Hoa").AutoFilter Field:=1, Criteria1:="*" & [a2] & "*" & [c2] & "*", Operator:=xlOr, Criteria2:="*" & [c2] & "*" & [a2] & "*"
End Sub
 

File đính kèm

  • Active Textbox filter nhieu dieu kien.xlsm
    19.4 KB · Đọc: 6
Vấn đề còn là chuyện: Bạn sẽ làm gì với daanh sách sau 2 lần lọc đó?
Mình lấy dữ liệu còn sót lại sau khi filter để làm công đoạn tiếp theo trong công việc đó bạn, tại thao tác công việc cần thực hiện nhiều filter dạng này nên mình muốn gõ vào 2 cái textbox fitler cho nhanh, thay vì phải làm thủ công
 
Mã:
Private Sub TextBox1_Change()
  Call GPE
End Sub
Private Sub TextBox2_Change()
  Call GPE
End Sub
Sub GPE()
  ActiveSheet.Range("Hoa").AutoFilter Field:=1, Criteria1:="*" & [a2] & "*" & [c2] & "*", Operator:=xlOr, Criteria2:="*" & [c2] & "*" & [a2] & "*"
End Sub
Đúng ý mình rồi, cảm ơn bạn HieuCD và các bạn khác nhé.
 
Web KT
Back
Top Bottom