Cảm ơn bạn đã đến với chủ đề này.Excel VBA: Làm thế nào để tháo chỉ một phạm vi tự động tại một thời điểm? Mã số được cung cấp
Những gì tôi có:
báo cáo -A với AutoFilter trên các hàng A: G
Những gì tôi cần:
đang -Circumstantial rằng unfilters một cột cụ thể nếu có một bộ lọc trên đó.
-Xoá mã của tôi bên dưới sẽ giải mã toàn bộ phạm vi A: G.
-Trong trường hợp này, tôi chỉ muốn "F" chưa được lọc, để lại bất kỳ bộ lọc nào khác nếu chúng được lọc.
With Sheets("DATA")
If .Range("F1").AutoFilter = True Then
ActiveSheet.Range("$A$1:$G$59826").AutoFilter Field:=6
Else
End If
End With
Mọi ý tưởng đều được đánh giá cao! Cảm ơn bạn rất nhiều!
Mã của bạn có vẻ ổn với tôi, tôi cũng đã thử nghiệm và khi tôi thử nó chính xác như bạn yêu cầu, loại bỏ bộ lọc tự động khỏi trường đơn. – user2140261
Khi tôi chạy mã, nó sẽ xóa toàn bộ bộ lọc tự động. – dendarii
Tuy nhiên, nó cũng loại bỏ các trường khác đã được lọc. Vì vậy, bộ lọc tự động sẽ được đặt lại trong Cột B và C nếu chúng được lọc. Tôi thực sự đã trả lời câu hỏi của riêng mình, nhưng tôi không có đủ đại diện để trả lời câu hỏi đó. Heres mã: Addr = Split (ActiveSheet.UsedRange.Address, "$") lastRow = Addr (UBound (Addr)) Đối với r = lastRow Để 1 Bước -1 Nếu Len (ô (r, "A") .Value) Sau đó, lastRow = r Thoát Đối với Kết thúc Nếu Tiếp theo ActiveSheet.Range ("$ A $ 1: $ G" & lastRow).Trường Tự lọc: = 6 –