我目前正在使用一些宏,我很困惑,我重新编写了这段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
为什么自动过滤器会这样做?
答案 0 :(得分:0)
感谢大家的有用帖子!问题是A栏完全是空白的。自动筛选从列B到BO开始,这是丢弃数字的原因。从列A到BO启动自动筛选有助于解决问题。