我目前正在使用一些宏,我对我重新复制的这段 VBA 代码感到困惑。 此问题仅在此工作簿中单独发生,不会在其他工作簿中发生。 问题出在以下行上:
sh1.Range("$A$21:$ZZ$10000").AutoFilter Field:=64, Criteria1:="<>"
.AutoFilter Field:=64
实际上不过滤第 64 列。 运行宏时,它会影响第 65 列。
Sub FilterGate()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = ActiveWorkbook.Sheets("Program Management")
Set sh2 = ActiveWorkbook.Sheets("Certification")
sh1.Range("$A$21:$ZZ$10000").AutoFilter Field:=64, Criteria1:="<>"
Range("A1").Select
sh2.Range("$A$21:$ZZ$10000").AutoFilter Field:=64, Criteria1:="<>"
Range("A1").Select
End Sub
为什么自动过滤器会这样工作?
感谢大家的有用帖子! 问题是 A 列完全空白。 自动过滤器从 B 列到 BO 开始,这就是抛弃数字的原因。 从 A 列到 BO 启动自动筛选器有助于解决此问题。