Microsoft Excel

Herbers Excel/VBA-Archiv

Makro bleibt hängen

Betrifft: Makro bleibt hängen von: Robert
Geschrieben am: 20.10.2020 20:47:21

Hallo liebe Exelgemeinde,
habe schon wieder ein Problem bei welchen ich Eure Hilfe bräuchte. Das Makro soll fast die _ gesamte Arbeitsmappe ausser ein paar Ausnahmen, sie stehen im Makro, Gruppieren. Macht es sogar aber es endet mit der Fehlermeldung Laufzeitfehler 1004, Methode Select ist für das Objekt Worksheet fehlgeschlagen. Wenn ich den Debugmodus öffne, dann ist dieser Satz

Call shBlatt.Select(Replace:=blnReplace)
gelb gekennzeichnet.
Ich hänge auch den Text an des kompletten Makros
Option Explicit



Sub Gruppierenallepaker()

Dim shBlatt As Worksheet
Dim blnReplace As Boolean

'Verbotene Blätter
'Trenner ist "/" (für Blattnamen unzulässig)
Const cStrForbidden As String = " Schaltflächen Makro/ Zentral Zeitg.Werbg./ Zentral Gesamt/  _
Zentral ABG Nord/ Liefer Nord/ Zentral ABG Mitte/ Liefer Mitte/ Zentral ABG SO/ Liefer SO/ Zentral L 1 A/ Liefer L1A/ Zentral L 1 B/ Liefer L1B/ Zentral L 2/ Liefer L2/ Zentral L 3/ Liefer L3/ Zentral L 4/ Liefer L4/ Zentral L 5/ Liefer L5/ Zentral L 6 Nord/ Liefer L6 Nord/ Zentral L 6 Süd/ Liefer L6 Süd/ Zentral Selbstabholer/ Liefer Selbstabholer/ Kurieraufl./ Urlaub.Rausl.Woche/ Tabelle1/ Url.Krak.Austrg./ Gewichte Halle/ Gewicht/ Daten.Austräger.Wochenlohn/ Wochenlohn/ Verteilung Ausgabe Kurier/ Tabelle2"

blnReplace = True

For Each shBlatt In ActiveWorkbook.Sheets
  If InStr(cStrForbidden, shBlatt.Name) = 0 Then
    Call shBlatt.Select(Replace:=blnReplace)
    blnReplace = False
  End If
Next shBlatt

End Sub

Was kann ich tun um den Fehler zu umgehen. Wie gesagt, die Gruppierung ist trotz der Fehlermeldung vollzogen.
Für Eure Mühe danke ich Euch im voraus

LG Robert

Betrifft: AW: Makro bleibt hängen
von: Daniel
Geschrieben am: 20.10.2020 21:33:30

Hi

Welches Blatt löst denn den Fehler aus?
Um das rauszufinden, kannst du den Befehl Debug.Prinz shBlatt.Name vor der Fehler verursachenden Zeile einfügen.
Das gibt den jeweiligen Blattnamen im Direktfenster aus.
Das zuletzt angezeigte Blatt ist das fehlerverursachende.
Wenn das nicht gleich das erste Blatt ist sondern ein späteres, dann solltest du dir mal anschauen, was dieses Blatt von den anderen unterscheidet.
Vielleicht hast du noch ein ausgeblendetes Blatt, das natürlich nicht selektiert werden kann.

Gruß Daniel

Betrifft: AW: Makro bleibt hängen
von: fcs
Geschrieben am: 20.10.2020 21:51:17

Hallo Robert,

ich vermute, du hast noch mindestens ein ausgeblendetes Blatt in der Arbeitsmappe.

Du musst entweder den/die Namen der ausgeblendeten Blätter mit in die Konstante übernehmen, oder eine Prüfung einbauen, ob das Blatt sichtbar ist.
For Each shBlatt In ActiveWorkbook.Sheets
  If shBlatt.Visible = xlSheetVisible Then
  If InStr(cStrForbidden, shBlatt.Name) = 0 Then
    Call shBlatt.Select(Replace:=blnReplace)
    blnReplace = False
  End If
  End If
Next shBlatt
LG
Franz

Betrifft: AW: Makro bleibt hängen
von: Robert
Geschrieben am: 20.10.2020 23:20:45

Hallo Ihr lieben Exeler.

Habe Eure Ratschläge befolgt und es funktioniert Fehlerfrei.



Danke


LG Robert

Beiträge aus dem Excel-Forum zum Thema "Makro bleibt hängen"