Giúp đỡ về VBA cho advanced filter

Liên hệ QC

slienman

Thành viên mới
Tham gia
21/1/12
Bài viết
8
Được thích
0
Hi all,

Mình có bài toán trích lọc dữ liệu duy nhất, về công thức thì mình đã có giải pháp tuy nhiên nếu sử dụng công thức khi gặp dữ liệu lớn sẽ tính rất chậm nên mình nghĩ sử dụng VBA sẽ giải quyết được vấn đề này nhưng mình lại không biết về VBA nên mong mọi người giúp đỡ.
 

File đính kèm

Hi all,

Mình có bài toán trích lọc dữ liệu duy nhất, về công thức thì mình đã có giải pháp tuy nhiên nếu sử dụng công thức khi gặp dữ liệu lớn sẽ tính rất chậm nên mình nghĩ sử dụng VBA sẽ giải quyết được vấn đề này nhưng mình lại không biết về VBA nên mong mọi người giúp đỡ.
Trước hết, bạn chèn 1 dòng tiêu đề cho sheet Dulieu và xóa tất cả dữ liệu trên sheet Ketqua.
Tiếp theo, hãy click phải tại nhãn sheet Ketqua, chọn View code, dán code sau vào khung bên phải:
PHP:
Private Sub Worksheet_Activate()
    Sheets("DuLieu").[A1].CurrentRegion.AdvancedFilter xlFilterCopy, , [A1], True
End Sub
Bây giờ, bạn thử nhập thêm dữ liệu vào sheet Dulieu rồi chuyển qua sheet Ketqua để xem kết quả lọc nhé.
 
Upvote 0
Hi all,

Mình có bài toán trích lọc dữ liệu duy nhất, về công thức thì mình đã có giải pháp tuy nhiên nếu sử dụng công thức khi gặp dữ liệu lớn sẽ tính rất chậm nên mình nghĩ sử dụng VBA sẽ giải quyết được vấn đề này nhưng mình lại không biết về VBA nên mong mọi người giúp đỡ.
Vậy bạn có biết dùng Advanced Filter bằng tay để trích lọc duy nhất không? Nếu biết, hãy record macro quá trình này, tự nhiên sẽ có code
 
Upvote 0
Trước hết, bạn chèn 1 dòng tiêu đề cho sheet Dulieu và xóa tất cả dữ liệu trên sheet Ketqua.
Tiếp theo, hãy click phải tại nhãn sheet Ketqua, chọn View code, dán code sau vào khung bên phải:
PHP:
Private Sub Worksheet_Activate()
    Sheets("DuLieu").[A1].CurrentRegion.AdvancedFilter xlFilterCopy, , [A1], True
End Sub
Bây giờ, bạn thử nhập thêm dữ liệu vào sheet Dulieu rồi chuyển qua sheet Ketqua để xem kết quả lọc nhé.

Thanks bạn, nhưng với cách của bạn gặp phải 2 vấn đề sau
- Nếu mình chèn thêm 1 cột vào phía bên trái khi chuyển qua sheet "Ketqua" nó sẽ xử lý dữ liệu cả ở hai cột mà mình chỉ cần xử lý cở cột Dayso.

- Mỗi khi thay đổi dữ liệu ở sheet "Dulieu" thì phải xóa bằng tay kết quả trước ở sheet "ketqua", có cách nào làm tự động được không bạn. Sao cho mỗi lần nhập dữ liệu mới vào sheet "Dulieu", kết quả sẽ tự động thay đổi ở sheet "Ketqua"
 
Upvote 0
ndu96081631: Mình biết cách dùng Advanced Filter bằng tay, tuy nhiên chỉ thực hiện trên cùng sheet, còn sang sheet khác thì báo như sau: You can only copy filtered data to the active sheet.


Record macro,bạn có thể hướng dẫn mình được không
 
Upvote 0
ndu96081631: Mình biết cách dùng Advanced Filter bằng tay, tuy nhiên chỉ thực hiện trên cùng sheet, còn sang sheet khác thì báo như sau: You can only copy filtered data to the active sheet.


Record macro,bạn có thể hướng dẫn mình được không

Muốn lọc ra ở sheet nào thì hãy sang sheet ấy trước, xong mới gọi công cụ Advanced Filter. Tại bạn đứng tại sheet chứa dữ liệu nên nó cằn nhằn là đúng rồi
 
Upvote 0
Web KT

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

Đếm ngược thời gian

000
Ngày
00
Giờ
00
phút
00
giây
Back
Top Bottom