Ich arbeite derzeit mit einigen Makros und ich bin verwirrt mit diesem Stück VBA-Code, den ich kopiert habe. Dieses Problem tritt nur in dieser Arbeitsmappe allein und in anderen Arbeitsmappen nicht auf. Das Problem ist mit dieser Zeile:Excel VBA .Autofilter Feld: = betrifft falsche Spalte
sh1.Range("$A$21:$ZZ$10000").AutoFilter Field:=64, Criteria1:="<>"
.AutoFilter Field:=64
nicht wirklich die 64th Spalte filtern. Wenn das Makro ausgeführt wird, wirkt sich dies stattdessen auf die 65. Spalte aus.
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
Warum wirkt die Autofilter als solche?
Ihr Code funktioniert für mich. Sie haben wahrscheinlich eine fehlende Spalte in sh1: 'Feld: = 64' ist Spalte ** BL ** –
Vielen Dank für Ihre Antwort, ich habe gerade den Code auf einer neuen Excel-Arbeitsmappe getestet und es funktioniert einwandfrei und keine Probleme. Obwohl ich nicht glaube, dass mir eine Spalte fehlt, funktioniert die Codezeile immer noch auf meiner ursprünglichen Arbeitsmappe, wenn auch nicht richtig. Basierend auf dem Code sollte Spalte BL die richtige sein, außer Spalte BM ist, was tatsächlich gefiltert wird. –
Ist Spalte A auf diesem Blatt leer? – Rory