【发布时间】:2018-04-20 20:29:09
【问题描述】:
我正在使用以下代码过滤多个工作表:
场景是我从一个工作簿复制数据并将它们粘贴到当前工作簿。表格(表 1 到表 13 S)通过公式从带有复制数据的表格中提取数据。我对具有相同结构化数据的其他工作簿使用了相同的代码,唯一的区别是我复制了不同的行。
由于某种奇怪的原因,在此工作簿中,从表 1 到表 13,文件管理器卡在第二行。但是,对于表 1 S 到表 13 S,过滤器都是正常的。
我正在为这个大声笑拔头发......
Set y = ActiveWorkbook
y.Sheets("Table 1").Range("AA2").AutoFilter Field:=27, Criteria1:="x"
y.Sheets("Table 2").Range("AB2").AutoFilter Field:=28, Criteria1:="x"
y.Sheets("Table 3").Range("AC2").AutoFilter Field:=29, Criteria1:="x"
y.Sheets("Table 4").Range("AD2").AutoFilter Field:=30, Criteria1:="x"
y.Sheets("Table 8").Range("AE2").AutoFilter Field:=31, Criteria1:="x"
y.Sheets("Table 11").Range("AF2").AutoFilter Field:=32, Criteria1:="x"
y.Sheets("Table 12").Range("AG2").AutoFilter Field:=33, Criteria1:="x"
y.Sheets("Table 13").Range("AH2").AutoFilter Field:=34, Criteria1:="x"
y.Sheets("Table 1 S").Range("AA2").AutoFilter Field:=27, Criteria1:="x"
y.Sheets("Table 2 S").Range("AB2").AutoFilter Field:=28, Criteria1:="x"
y.Sheets("Table 3 S").Range("AC2").AutoFilter Field:=29, Criteria1:="x"
y.Sheets("Table 4 S").Range("AD2").AutoFilter Field:=30, Criteria1:="x"
y.Sheets("Table 8 S").Range("AE2").AutoFilter Field:=31, Criteria1:="x"
y.Sheets("Table 11 S").Range("AF2").AutoFilter Field:=32, Criteria1:="x"
y.Sheets("Table 12 S").Range("AG2").AutoFilter Field:=33, Criteria1:="x"
y.Sheets("Table 13 S").Range("AH2").AutoFilter Field:=34, Criteria1:="x"
【问题讨论】:
-
当您说过滤器卡在第二行时,您的意思是下拉菜单在第二行吗?
-
@Jarom 是的,下拉菜单在第二行
-
尝试将
.Range("AA2")等所有范围更改为.UsedRange,如下所示:y.Sheets("Table 1").UsedRange.AutoFilter Field:=27, Criteria1:="x" -
@paulbica 哇,这真是个奇迹!
-
很高兴你解决了问题!