Hallo,
ich habe eine große Excel-Datei für eine Abwesenheitsliste. Ein Tabellenblat entspricht einem Monat. Ich möchte nun, dass nach jedem abgelaufenen Monat, das Monatstabellenblatt automatisch ausgeblendet wird. Nur wie geht das? 
Danke schon einmal im Voraus.
Gruß
Sasel
ich habe eine große Excel-Datei für eine Abwesenheitsliste.
Ein Tabellenblat entspricht einem Monat. Ich möchte nun, dass
nach jedem abgelaufenen Monat, das Monatstabellenblatt
automatisch ausgeblendet wird. Nur wie geht das?
Hallo Sasel,
der nachfolgende Code gehört in „DieseArbeitsmappe“. Wenn „Hidden“ nicht klappt, nimm die Zeile mit „Visible“, ich verwechsel das ständig.
Private Sub Workbook\_Open()
Dim N As Integer
On Error GoTo Hell
For N = 1 To Worksheets.Count
If MonthName(Month(Date)) = Worksheets(N).Name Then
Worksheets(N).Hidden = True
'Worksheets(N).Visible = False
Exit For
End If
Next N
Exit Sub
Hell:
MsgBox "kann nicht alle Blätter ausblenden"
End Sub
Gruß
Reinhard
Grüezi Reinhard
Ich habe Dein Makro ausprobiert. Anfänglich ist es immer zur Hölle gefahren
)
Ich habe dann folgende Aenderung gemacht:
Private Sub Workbook\_Open()
Dim N As Integer
On Error GoTo Hell
For N = 1 To Worksheets.Count
'' If MonthName(Month(Date)) = Worksheets(N).Name Then
'' Worksheets(N).Hidden = True
''' Worksheets(N).Visible = True
'' Exit For
'' End If
If MonthName(Month(Date)) Worksheets(N).Name Then
' Worksheets(N).Hidden = True
Worksheets(N).Visible = False
Exit For
End If
Next N
Exit Sub
Hell:
MsgBox "kann nicht alle Blätter ausblenden"
End Sub
Nun wird zwar die erste Tabelle gehiddet, egal ob sie Januar oder Nikolaus heisst. Und es wird nur diese eine erste ausgeblendet. Keine zweite beim erneuerten Oeffnen.
Ich habe mir noch überlegt: Müsste das Exit For nicht nach dem End It stehen? - Ich habs auch umgestellt und so probiert. Das Ergebnis ist das gleich.
Ich möchte nicht, dass Du zu sehr ins Schwitzen gerätst, wenn Du Dich weiterhin mit diesem Problem befassen musst. Aber so wie ich Dich kenne, machst Du das ja mit links!
Vielen Dank und viele Grüsse
Niclaus
Grüezi Niclaus,
Ich habe Dein Makro ausprobiert. Anfänglich ist es immer zur
Hölle gefahren)
ja, Hidden ist falsch, man muß Visible nehmen. Unten in diesem Beitrag ist der richtige Code.
If MonthName(Month(Date)) Worksheets(N).Name Then
Worksheets(N).Visible = False
Exit For
End If
Nun wird zwar die erste Tabelle gehiddet, egal ob sie Januar
oder Nikolaus heisst. Und es wird nur diese eine erste
ausgeblendet. Keine zweite beim erneuerten Oeffnen.
Tja nun, der Code macht genau das was du ihm sagst
)
Das erste Blatt ist ungleich dem Monatsnamen also wird es ausgeblendet, dann die or Schleife beendet.
Beim nächsten Aufruf passiert das Gleiche nur du siehst davon nix weil das erste Blatt ja schon ausgeblendet ist.
Ich habe mir noch überlegt: Müsste das Exit For nicht nach dem
End It stehen?
Nein. Exot For dient einzig dazu den Code zu beschleunigen, also Abbruch wenn If einmal stimmte. Und das If kann nur einmal stimmen da Excel nicht zuläßt daß zwei Blätter genauso heißen.
Gruß
Reinhard
Private Sub Workbook\_Open()
Dim N As Integer
On Error GoTo Hell
For N = 1 To Worksheets.Count
If MonthName(Month(Date)) = Worksheets(N).Name Then
Worksheets(N).Visible = False
Exit For
End If
Next N
Exit Sub
Hell:
MsgBox "kann nicht alle Blätter ausblenden"
End Sub
Grüezi Reinhard
Dumm von mir. Ich habe die Frage von Sasel nicht richtig gelesen. Er schreibt:
Ich möchte nun, dass nach jedem abgelaufenen Monat, das Monatstabellenblatt automatisch ausgeblendet wird.
Ich habe „gelesen“: Ich möchte nun, dass nur der aktuelle Monat angezeigt wird.
Entschuldige bitte und nimm meinen untertänigsten Dank entgegen.
Niclaus
Grüezi Niclaus,
Dumm von mir. Ich habe die Frage von Sasel nicht richtig
gelesen. Er schreibt:Ich möchte nun, dass nach jedem abgelaufenen Monat, das
Monatstabellenblatt automatisch ausgeblendet wird.
*aaaaaaaaargs* nach jedem *sehr seufz*
Ich kann beschwören (Lügendedektor usw.) daß stand nicht in der Anfrage als ich sie las *grins*
Dann ist natürlich mein Code hinfällig 
Okay, Code in Tonne, neuer Code muß her.
Aber meine Erfahrungen der letzten Monate beweisen mir, es ist letztlich effektiver abzuwarten ob sich der Anfrager nochmal meldet.
Leider hat es sich m.E. gehäuft daß hier Anfragen hereintrudeln und vom Anfrager kommt keinerlei Reaktion.
Meldet er sich also, schau ich mir das nochmal an.
Ich habe „gelesen“: Ich möchte nun, dass nur der aktuelle
Monat angezeigt wird.
Naja, unser beiden Verlesungen unterscheiden sich kaum, ich hab halt gelesen der aktuelle Monat soll ausgeblendet werden *gg*
Der Anfrager hätte das DICK in FETTSCHRIFT schreiben sollen, naja, nicht wirklich hilfreich, dann hätte ich erst mal wieder gemosert er solle hier nicht rumschreien *grins*
Entschuldige bitte und nimm meinen untertänigsten Dank
entgegen.
Hab ich nix von, Schecks sind mir lieber 
Ich nehm großzügigerweise auch SFr an.
Heute gelesen, in der Schweiz gibts wohl eine Partei, da hat der eine Politiker gefordert, bestimmte Teile von Deutschland in die Schweiz einzugliedern?
Darüber kann man mit mir locker reden, ich hätte da schon paar Landesteile im Auge *hihi*
Gruß
Reinhard
Danke für die Antworten. Ihr habt mir sehr geholfen!