我正在编写代码来过滤某些数据并将其复制。之后,我想将其滤除到原来的状态。我正在使用ActiveSheet.ShowAllData语句,但它也取消隐藏所有隐藏的行。是否有一组代码可以让我过滤未过滤的数据,但不隐藏以前隐藏的任何行?VBA Excel未过滤但未取消隐藏行
感谢您的回答
编辑:这是代码,如果它有帮助。
子CopyToAmortizing()
Dim tbl As Range
Dim VisibleCells As Integer
Dim lr As Long
Sheets("Template").Select
Columns("A:AZ").EntireColumn.Hidden = False
If Not ActiveSheet.AutoFilter Is Nothing Then Cells.AutoFilter
Range("A5:AB5").Select
Range(Selection, Selection.End(xlDown)).Select
Set tbl = Selection
ActiveSheet.Range("$A$3:$N$9999").AutoFilter Field:=1, Criteria1:= _
"Amortizing Item"
对错误转到POINT2
VisibleCells = tbl.SpecialCells(xlCellTypeVisible).Rows.Count
If VisibleCells >= 1 Then
Range("A3").Select
Selection.End(xlDown).Activate
lr = ActiveCell.Row
Range("B3", Cells(lr, 12)).Select
Selection.Copy
Sheets("AmortizingItems").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Rows(2).EntireRow.Delete
Range("A2").Select
Sheets("Template").Select
End If
POINT2:
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
Range("A5").Select
结束子
我使用过滤器: ActiveSheet.Range( “$ A $ 3:$ N $ 9999”)。自动筛选字段:= 1,标准1:= _ “摊销物品” 然后:ActiveSheet.ShowAllData
你能后你当前的代码? – MLavrentyev