【发布时间】:2017-12-31 17:44:21
【问题描述】:
我正在编写一个代码来过滤某些数据并复制它。之后,我想将其取消过滤到其原始状态。我正在使用 ActiveSheet.ShowAllData 语句,但它也取消隐藏所有隐藏的行。是否有一组代码可以让我取消过滤过滤后的数据,但不能取消隐藏之前隐藏的任何行?
感谢回复
编辑:如果有帮助,这就是代码。
Sub 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"
错误转到点 2
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
点2:
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
Range("A5").Select
结束子
我使用过滤器: ActiveSheet.Range("$A$3:$N$9999").AutoFilter Field:=1, Criteria1:= _ “摊销项目” 然后:ActiveSheet.ShowAllData
【问题讨论】:
-
你能发布你当前的代码吗?