Hallo,
"
ich habe jetzt erst mal die Zeile
MsgBox "Addin aktiv (open)"
gelöscht.
"
Gut!
"Die beiden MsgBox "Tabelle 1 falsch" kommen dann aber immer noch."
Ich finde es schon extrem irritierend (frustrierend), dass dich die Msgbox stört. Natürlich soll sie nicht in deinen endgültigen Code, doch ich habe sie ja extra für dich hingeschrieben. Zum einen, damit du lernst, wann diese welche Codezeile ausgeführt wird, zum anderen enthält sie doch auch noch etwas zum Autofilter. Ich dachte, die Msgbox hat einen Mehrwert für dich! Ich wollte dir ua. zeigen, wie du eine Schleife über alle Tabellenblätter baust, wie du mit der Fehlermeldung umgehen kannst, wenn es kein Autofilterobjekt im Tabellenblatt gibt ... Das alles hättest du aus dieser Msgbox lernen können!?
Dass der Fehler auftritt, liegt daran, dass du in zwei Zeilen hintereinander die erste Zeile eines Makros schreibst. Das eine kann also noch nicht fertig sein, und schon beginnt ein neues?! => Compilierungsfehler!
Hier mein Vorschlag für das Makro mExcelApp_WorkbookOpen
Private Sub mExcelApp_WorkbookOpen(ByVal Wb As Workbook)
Dim Ws As Worksheet
Dim i As Long
For Each Ws In Wb.Worksheets
'Autofilter für das ganze Blatt
If Not Ws.AutoFilter Is Nothing Then
Ws.AutoFilter.ShowAllData
End If
'Autofilter in "intelligenten Tabellen"
For i = 1 To Ws.ListObjects.Count
Ws.ListObjects(i).AutoFilter.ShowAllData
Next
Next
End Sub
Mit dem Autofilter kennne ich mich nicht so sonderlich aus. Der Code ist getestet, läuft er auch bei dir?
Grüße, Ulrich
|