我有两个宏,它们按日期过滤工作表列,然后删除不相关的列。
但是,它有很多错误,我需要一些帮助来纠正它。
这就是第二个宏应该做的事情:
1)应用过滤器后,只需删除除第一行(标题)之外的可见行- 目前,它会删除包括第一行在内的所有可见行,即使我Offset的代码中有该函数。
2)删除所有过滤器- 现在工作正常
Sub DeleteVisibleRows()
Dim ws1 As Worksheet
Dim WorkRng As Range
Set ws1 = ActiveWorkbook.Sheets("Consolidated")
On Error Resume Next
Set WorkRng = Application.Selection
Application.ScreenUpdating = False
With ws1
WorkRng.Offset(1, 0).Rows.SpecialCells(xlCellTypeVisible).EntireRow.Delete
ws1.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)
SpecialCells 的工作方式与之前的答案类似。
Sub Button1_Click()
Dim sh As Worksheet, rng As Range, LstRw As Long
Set sh = Sheets("Sheet1")
With sh
LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row
Set rng = .Range("A2:A" & LstRw).SpecialCells(xlCellTypeVisible)
rng.EntireRow.Delete
.AutoFilterMode = False
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25580 次 |
| 最近记录: |