-1
我目前正在使用一些宏,我對這段重新錄製的VBA代碼感到困惑。此問題只出現在此工作簿中,並不會在其他工作簿中出現。問題是與這條線:Excel VBA .Autofilter字段:=影響錯誤的列
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
爲什麼自動過濾器會這樣工作?
你的代碼適合我。您可能在sh1中有一個缺失的列:'Field:= 64'是Column ** BL ** –
感謝您的回覆,我剛剛在新的Excel工作簿上測試了代碼,並且它正常工作也沒有問題。雖然我不相信自己錯過了一列,但這行代碼仍然適用於我的原始工作簿,儘管不正確。根據代碼,列BL應該是正確的,除了列BM是實際過濾的。 –
該表單上的A列是否爲空白? – Rory