Clever-Excel-Forum

Normale Version: Makro Absturz - Sheets einblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe ein Problem mit einem Marko indem ich Sheets einblende und andere ausblende.
Ich probiere schon die ganze Zeit rum.

So sieht das Makro aus:
Code:
Sub Nur_Kennzahlen()
    Application.ScreenUpdating = False
   
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    If myPwd <> "XXXX" Then End
    ActiveWorkbook.Unprotect Password:=myPwd
   
    Sheets(1).Visible = False
    Sheets(2).Visible = False
    Sheets(3).Visible = False
    Sheets(4).Visible = False
    Sheets(5).Visible = False
    Sheets(6).Visible = True
    Sheets(7).Visible = True
    Sheets(8).Visible = True
    Sheets(9).Visible = True
    Sheets(10).Visible = True
    Sheets(11).Visible = True
    Sheets(12).Visible = True
    Sheets(13).Visible = True
    Sheets(14).Visible = True
    Sheets(15).Visible = True
    Sheets(16).Visible = True
    Sheets(17).Visible = True
   
    Sheets("Auswertungen").Activate
    Application.ScreenUpdating = True

End Sub

Folgende Fehlermeldung bekomme ich....
[attachment=46743]

Wenn es jetzt immer das gleiche Sheet wäre, würde ich das ändern.
Aber das Makro steigt immer bei unterschiedlichen Sheets aus.

Ich habe auch schon eine Zeitliche Pause im Makro ausprobiert. Auch ohne ERfolg.

Hat jemand eine Idee?

Danke
Hi,

ich würde erst die True Blätter setzen und erst am Ende die False - Blätter, denn im schlimmsten Fall versuchst Du alle auszublenden, aber eins muss immer sichtbar sein...
Hallo,

habe ich schon versucht. Leider liegt es nicht daran.

Das kann ich ausschließen.

GRuß
Hi,

hast Du das Makro schon im Einzelschritt-Modus durchgeprüft und den Zustand der Sheets vor dem Befehl kontrolliert?
Ist eines der Blätter noch passwortgeschützt?
Hallo,

im Einzelschritt verfahren klappt es ebenfalls ohne Probleme.
Habe jetzt aber noch eine zweite Fehlermeldung die Auftritt. Vielleicht kennt die noch jemand?

[attachment=46744]

Irgendwie mag mich Excel grad nicht....

Danke!
Hi,

dann zeige mal die Datei.
Hallo,

ich glaube und befürchte ich kann die Datei nicht hier hochladen.
Das sind Firmendaten.
Und so leer bekomme ich die Datei leider nicht.

Was ich aber sagen kann, wenn ich es genau andersrum mache, funktioniert es immer ohne Probleme.
Das wäre der Code für andersrum Smile
Code:
Sub Nur_XXXliste()

    Application.ScreenUpdating = False
   
    Sheets(1).Visible = True
    Sheets(2).Visible = True
    Sheets(3).Visible = True
    Sheets(4).Visible = True
    Sheets(5).Visible = True
    Sheets(6).Visible = False
    Sheets(7).Visible = False
    Sheets(8).Visible = False
    Sheets(9).Visible = False
    Sheets(10).Visible = False
    Sheets(11).Visible = False
    Sheets(12).Visible = False
    Sheets(13).Visible = False
    Sheets(14).Visible = False
    Sheets(15).Visible = False
    Sheets(16).Visible = False
    Sheets(17).Visible = False
   
    Sheets("Master").Activate
    ActiveWorkbook.Protect Password:="XXXX"
    Application.ScreenUpdating = True
End Sub
Hi,

du verwendest nicht die Eigenschaft, die es für  .Visible gibt.

xlsheethidden(0), xlsheetveryhidden(2), xlsheetvisible(-1).

Bei "Sensibelchen" kann True/False schon mal ins Leere laufen

If ...<> then END führt zwar zu keinem Fehler, ist aber Unsinn

If...  = ""  then
   ....
else
  ....
end if

wobei dann der else-Teil weggelassen werden kann

Ist dein ActiveWorkbook dasselbe, das den Code enthält?????

Falls nein, hast du falsch referenziert und deine MakroDatei enthält nicht die Tabellen, die im Code angesprochen sind

Teste mal

Code:
Sub Nur_Kennzahlen()
    Application.ScreenUpdating = False
 
    Dim wks As Worksheet
    myPwd = Application.InputBox("Passwort eingeben")
    If myPwd = "XXXX" Then
      With ActiveWorkbook
        .Unprotect Password:=myPwd
        .Sheets("Auswertungen").Activate
        .Sheets(1).Visible = 0
        .Sheets(2).Visible = 0
        .Sheets(3).Visible = 0
        .Sheets(4).Visible = 0
        .Sheets(5).Visible = 0
        .Sheets(6).Visible = -1
        .Sheets(7).Visible = -1
        .Sheets(8).Visible = -1
        .Sheets(9).Visible = -1
        .Sheets(10).Visible = -1
        .Sheets(11).Visible = -1
        .Sheets(12).Visible = -1
        .Sheets(13).Visible = -1
        .Sheets(14).Visible = -1
        .Sheets(15).Visible = -1
        .Sheets(16).Visible = -1
        .Sheets(17).Visible = -1
      End With
    End If
 
   
    Application.ScreenUpdating = True

End Sub


VG Juvee
Hallo zusammen,

ich habe das so eingefügt und noch einmal einiges getestet.
Es sind wieder die gleichen Fehler aufgetreten.

Dann mal weiter getestet... Sheet 8 und Sheet 17 sind Diagramme.
Wenn ich diese ausgeblendet lasse läuft das Makro.....

Warum keine Ahnung....
Dann blende ich das Dia wohl extra ein...

Gruß
Hi,

kann ich nicht nachvollziehen, dass Diagrammtabellen sich beim Ein-/Ausblenden anders verhalten als andere Tabellen, ist auch nicht vorgesehen.

Die Sheets-Auflistung enthält sowohl WORKSHEETS als auch Diagrammtabellen; diese sind aber in der Worksheets-Auflistung nicht enthalten

Bei dir ist vmtl irgendwo anders der Wurm drin

VG Juvee
Seiten: 1 2