我有一张桌子,从A2到A7。单元格A1不属于该表。
只要单元格A1为空,下面的宏就可以正常工作,但是当我在单元格A1中输入任何值时,宏就会停止工作。 VBA调试器说:无法运行Rang的AutoFilter方法(错误代码1004)。
Public Sub FilterOnCellValue()
Dim nField As Long
With ActiveCell
nField = .Column - .CurrentRegion.Cells(1).Column + 1
.CurrentRegion.AutoFilter Field:=nField, Criteria1:=.Value
End With
End Sub
问题:如何限制宏仅在表格内进行过滤?
更新: 我想在所有表和所有文件中而不是在某个表中使用此宏。有什么解决办法吗?
答案 0 :(得分:0)
随心所欲选择一个
给表命名,并使用table.range.filter而不是CurrentRegion。
ActiveSheet.ListObjects("mytable").Range.AutoFilter
在A1和您的表格之间插入空白行和隐藏行