Xoá vùng lọc và điều kiện lọc của AutoFilter và Advanced Filter (2 người xem)

Liên hệ QC

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

handung107

Thành viên gắn bó
Thành viên danh dự
Tham gia
30/5/06
Bài viết
1,630
Được thích
17,441
Nghề nghiệp
Bác sĩ
Lê Văn Duyệt​

Công cụ AutoFilter và Advanced Filter là công cụ mạnh trong Excel, nó giúp cho người sử dụng lọc và lấy khối dữ liệu cần thiết.

xoa_ad1.gif


1/ Đối với AutoFilter :

Khi sử dụng công cụ này nếu chú ý, bạn sẽ thấy rằng Excel nhớ vùng trước đó bạn lọc. Trong một số trường hợp thì điều này hữu ích. Nhưng nếu bạn muốn làm việc với các vùng khác thì thật là bất tiện. Excel lưu giữ vùng lọc của bạn với tên _FilterDatabase. Bạn không thể xoá tên này bằng cách thông thường là vào Insert/Name/Define

xoa_ad2.gif


Giả sử tôi có vùng dữ liệu muốn lọc là vùng A1:E5 của Sheet1

xoa_ad3.gif


Tôi Click và ô A2 và chọn Data/Filter/AutoFilter. Sau đó tôi chọn Insert/Name/Define. Hộp thoại Define Name xuất hiện. Nhưng bạn sẽ không thấy một tên nào cả (giả sử rằng trước đó bạn chưa đặt tên cho vùng nào cả).

xoa_ad4.gif


Tên _FilterDatabase là loại hidden. Vì vậy bạn sẽ không thấy được bằng cách này. Bây giờ giả sử tôi nhập vào ô A6 với nội dung Lê Quốc và ô B6 với nội dung Cường các ô khác tôi không nhập (bạn cũng có thể nhập nội dung vào các ô khác, ở đây do làm ví dụ tôi giản lược bớt). Tôi chọn điều kiện lọc ở cột địa chỉ là: Quận Thủ Đức.

xoa_ad5.gif


Kết quả lọc của tôi sẽ như sau:

xoa_ad6.gif


Bạn thấy rằng hàng bạn vừa nhập vào cũng bị Hide luôn. Bây giờ tôi chọn điều kiện lọc ở cột Diachi là All để tôi bỏ điều kiện lọc vừa rồi. Sau đó tôi xoá dữ liệu vừa nhập vào ở ô A6 và B6. Sau đó tôi lại lập lại điều kiện lọc ở cột Diachi là Quận Thủ Đức. Bạn sẽ thấy hàng số 6 cũng bị dấu luôn.

Vâng đó là bất tiện của AutoFilter.

_Đối với AdvancedFilter

Tương tự đối với AdvancedFilter. Tôi chọn Data/Filter/AdvancedFilter với các dữ liệu như sau:

xoa_ad7.gif


xoa_ad8.gif


Kết quả tôi được các dữ liệu ở hàng 16 và 17 dưới đây.

xoa_ad9.gif


Đến lúc này nếu bạn chọn Insert/Name/Define bạn sẽ thấy hai tên Criteria, và Extract trong hộp thoại Define Name

xoa_ad10.gif


Với công cụ AdvanceFilter ngoài hai vùng có tên trên bạn cũng được vùng có tên là _FilterDatabase. Nhưng như đã nói ở trên, tên này không thể thấy hay xoá được theo cách thông thường. Tuy nhiên, bạn có thể sử dụng đoạn mã VBA đơn giản sau để xoá và gọi hộp thoại AdvanceFilter:

PHP:
Sub ShowAdvancedFilterDialog() 
   ' Xoa cac ten'
   On Error Resume Next 
   With ActiveWorkbook 
      .Names("_FilterDatabase").Delete 
      .Names("Criteria").Delete 
      .Names("Extract").Delete 
   End With 
   On Error GoTo 0 
   ' Goi hop thoai '
   Application.Dialogs(xlDialogFilterAdvanced).Show 
End Sub

Nếu bạn không sử dụng AdvanceFilter, thì bạn có thể sửa lại đoạn mã trên như sau:

PHP:
Sub DeleteNames() 
   ' Xoa cac ten'
   On Error Resume Next 
   With ActiveWorkbook 
      .Names("_FilterDatabase").Delete 
   End With 
End Sub

Để sử dụng thủ tục này bạn copy thủ tục trên và đưa vào VBA module. Khi cần sử dụng bạn dùng phím nóng Alt + F8, sau đó chọn thủ tục mà bạn muốn chạy và chọn Run.

Tóm lại một khi bạn không muốn Excel tự động lấy vùng lọc trước đó thì bạn sử dụng các thủ tục trên.

Chúc các bạn thành công. Hy vọng bài viết trên sẽ giúp ích các bạn phần nào trong công việc.

Mọi góp ý xin gởi cho tôi theo địa chỉ email sau:
levanduyet@pmail.vnn.vn
Lê Văn Duyệt.
 
Su dung Pivot

Hi anh Duyet!
Em la Truong, moi tham gia vao dien dan GPE, hom truoc co doc duoc bai viet cua anh ve viec su dung VBA tao Pivot, em thay rat hay, va em cung dang can hoc hoi va nghien cuu ve cai nay de ap dung trong cong viec. Em doc tren dien dan nhung chua hieu cho lam. Em da gui mail cho anh nhung toan bao loi khong the gui duoc.

Vay nen em muon nho anh chi giup may chieu.
Thank you anh truoc nhe.

Em co gui kem file mong anh chi giup, bay gio em co van de nhu nay:
Trong file luc dau em co 5 sheets ( 098, 178,A,H,P)

Yeu cau:
1-Tu dong Tao them cot DV va dien thong tin vao tat ca cac sheets tuong ung voi tung dich vu cua tung sheet ( c[FONT=&quot]u the la: [/FONT]sheet: 098 thi dien la “098”, sheet: 178 thi dien la “V” , sheet A dien la”A”, H thi dien la “H”, P dien la”P”)
2-Tu dong gop cac sheets nay sheet “Data” ( chu y la chi lay dong tieu de cua sheet dau tien duoc gop cac sheets con lai khong can lay dong tieu de)
3-Dung pivot de tinh duoc ket qua nhu sheet1 ( Luc dau em dung pivot thong thuong chi tinh duoc ra ket qua trong sheet1 nhung no khong co cac truong tinh ty le va % HT em muon nho bac chi cach dem them cac truong ty le va % HT nay vao trong Pivot.)
Chu y: Cac du lieu tu cac sheets (098,178,A,H,P) em lay ra tu he thong CSDL dung cau lenh SQL.
Nhan tien bac chi em luon van de nay nhe:

Cac sheets (098,178,A,H,P) ma em co tu CSDL la tung file rieng biet em muon gop no thanh luon sheet “Data” ma khong can phai dung chung ve cung mot file co duoc khong?

Em dang rat can duoc hoc van de nay de ap dung trong cong viec hang ngay, mong anh Duyet co gang giup em nhe!

Cam on anh nhieu!

Mong som nhan duoc su chi giup tu anh!


Lien he truc tiep qua: Tai Truong - ĐT: 098.9911.666 - Mail: TruongDT2@viettel.com.vn
 

File đính kèm

Upvote 0
sao em chạy code mà vân không xóa được cái Criteria và Extract nhỉ, nó vẫn còn đó mãi anh ơi
 
Upvote 0
Web KT

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

Back
Top Bottom