Tư động Apply Filter sau mỗi thay đổi.

Liên hệ QC

ls09

Thành viên mới
Tham gia
11/4/12
Bài viết
5
Được thích
1
Chào mọi người!
Mình viết đoạn code khi chạy thì báo lỗi, mình không biết lỗi gì, mong mọi người chỉ bảo giùm. Xin cảm ơn!
Nội dung thế này:

- File có 4 sheet, trong đó sheet 1, 2, 3 không có Filter, sheet 4 có Filter.
- Dùng chuột chọn đồng thời 3 sheet là 2, 3, 4 (giữ Ctrl để chọn).
- Mỗi khi thay đổi giá trị ô A1 của sheet 1, thì sheet 4 cũng phải tự động AppyFilter.

Code (trong Modul 1 của file đính kèm):
Private Sub Test_reApply()
Dim i As Integer, j As Integer
For i = 1 To 3
Sheets("Sheet1").[A1] = i
For j = 1 To ActiveWindow.SelectedSheets.Count
If ActiveWindow.SelectedSheets(j).AutoFilterMode = True Then
ActiveWindow.SelectedSheets(j).AutoFilter.ApplyFilter
End If
Next j
Next i
End Sub
 

File đính kèm

  • Test.PNG
    Test.PNG
    9.8 KB · Đọc: 11
  • Test.xlsm
    22.5 KB · Đọc: 4
Ý đồ của bạn thực là rối rắm. Tôi thực sự chẳng hiểu bạn muốn gì.
 
Upvote 0
Ý đồ của bạn thực là rối rắm. Tôi thực sự chẳng hiểu bạn muốn gì.
Cảm ơn bạn! Mình xin trình bày lại xem dễ hiểu hơn không: Khi dữ liệu sheet 1 thay đổi thì dữ liệu sheet 2, 3, và 4 cũng thay đổi theo. Dữ liệu trong sheet 2, và 3 thì không được Filter nhưng Dữ liệu trong Sheet 4 được Filter. Làm sao để mỗi lần dữ liệu sheet 1 thay đổi thì Dữ liệu trong sheet 2, 3, và 4 được tự động AutoFilter. Lưu ý ở đây cả 3 sheet 2, 3, và 4 đêu đang được Acvite (Như ảnh đính kèm).
 

File đính kèm

  • Test2.PNG
    Test2.PNG
    248.6 KB · Đọc: 2
Upvote 0
Cảm ơn bạn! Mình xin trình bày lại xem dễ hiểu hơn không: Khi dữ liệu sheet 1 thay đổi thì dữ liệu sheet 2, 3, và 4 cũng thay đổi theo. Dữ liệu trong sheet 2, và 3 thì không được Filter nhưng Dữ liệu trong Sheet 4 được Filter. Làm sao để mỗi lần dữ liệu sheet 1 thay đổi thì Dữ liệu trong sheet 2, 3, và 4 được tự động AutoFilter. Lưu ý ở đây cả 3 sheet 2, 3, và 4 đêu đang được Acvite (Như ảnh đính kèm).
Nhưng tại sao bắt buộc phải chọn 3 sheet rồi mới đi chạy code để cho nó sinh ra lỗi? Thiếu gì cách để VBA điền giá trị vào cell của 1 sheet cụ thể và filter. Tôi không hiểu là không hiểu cái ý muốn của bạn sao mà nó rối rắm thế.
 
Upvote 0
Mình muốn in hàng loạt: 3 sheet mình chọn là 3 sheet mình sẽ in, mỗi lần sheet 1 thay đổi dữ liệu là là 1 lần thực reapplyFilter 3 sheet được chọn và in nó.
 
Upvote 0
Có vẻ hướng mình đưa ra để xử lý bài toán chưa tối ưu nên nó đâm ra rối. Để mình chuyển qua hướng khác: Viết code để reapplyFilter trước rồi sau đó mới chọn lại các sheet cần in. Một lần nữa Cảm ơn bạn!

Maika8008

 
Upvote 0
Web KT

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

Back
Top Bottom