Tự động định dạng lại theo số dòng thích hợp khi chạy Macro dạng Advance filter. (2 người xem)

Liên hệ QC

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

duvanngoc

Thành viên mới
Tham gia
22/7/08
Bài viết
15
Được thích
2
Sau khi tạo macro để advance filter tự động thì bị lỗi thừa dòng đã được định dạng (ko hẳn là lỗi mà do code thiếu--=0). Mời các bác xem file đính kèm và giúp đỡ.
 

File đính kèm

Thì bạn nên làm vầy:
Vào đầu macro, bạn cho hiện hết các dòng từ 6-23 ( Bằng câu lệnh Rows("6:23").Hidden=False)

Cuối macro, bạn thêm 2 dòng lệnh:
1 'Xác định dòng cuối có dữ liệu của cột nào đó nhứt thiết fải có dữ liệu (như cột C) (bằng dòng lệnh [C5].End(xlDown).Row
2 Nếu dòng này <22 thì cho ẩn các dòng từ dòng này +1 cho đến dòng 22
Bằng ngược lại (có nghĩa không có dữ liệu nào được lọc) thì ẩn hết các dòng đã format

Chúc thành công.
 
@ChanhTQ@: Mình mới học code nên chưa hiểu lắm, bạn có thể post cụ thể được ko
sau khi làm theo hướng khác thì được như sau:

Sub macro()
Range("a6:f30").Clear
Sheets("Data").Range("A1:F22").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("TH!Criteria"), CopyToRange:=Range("A5:F90"), Unique _
:=False
End Sub

Tạo macro như trên rồi tạo command button để mỗi lần cần lọc thì click vào nút chứ chưa tự động được. Nó vẫn bất tiện hơn là tự động.
 

File đính kèm

Sau khi tạo macro để advance filter tự động thì bị lỗi thừa dòng đã được định dạng (ko hẳn là lỗi mà do code thiếu--=0). Mời các bác xem file đính kèm và giúp đỡ.
Code của bạn có một số chỗ cần điều chỉnh như sau:
1. Code phải được để trong sheet TH, không để trong Workbook
2. Chưa giới hạn vùng tác động để thực thi code (gõ cái gì vào bất cứ đâu code cũng chạy)
3. Chưa xóa dữ liệu cũ

Bạn tham khảo file đính kèm thử xem sao.
 

File đính kèm

Web KT

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

Back
Top Bottom