Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen ausblenden wenn nicht ausgewählter Monat

Zeilen ausblenden wenn nicht ausgewählter Monat
09.01.2018 10:02:13
URH
Guten Morgen liebe Community,
in den letzten Tagen begann ich eine Dienstplan-Vorlage zu basteln und schon häng ich an den ersten Probleme:
Über Funktionen "generiere" ich in Spalte A das jeweilige Datum für's ganze Jahr.
Mittels Bedingter Formatierung färbe ich sowohl die Wochenenden ein, wie auch die Feiertage. Hierzu habe ich eine Hilftabelle mit einigen Daten.
Meine erste Hürde ist nun, daß ich gerne mittels Drehschalter (bereits vorhanden und funktioniert) den Monat auswählen möchte und alle Zeilen ausgeblendet werden die nicht diesem Monat entsprechen.
Das Sheet habe ich angehängt und hoffe mal, daß jemand einen Rat hat - gerne auch was die bereits vorhandenen Makros betrifft.
https://www.herber.de/bbs/user/118802.xlsm
Weitere Ideen für die Vorlage wären:
1. die Arbeitstage des ausgewählten Monat ermitteln und in eine Zelle schreiben
2. Funktionstasten mit vorgegebene Arbeitszeiten (von - bis) belegen, einen kompletten Bereich markieren und mittels der jeweiligen Funktionstaste die vorgegebenen Arbeitszeiten in diesen Bereich schreiben.
3. Den Soll-Plan (Anfangs- und Endezeiten) kann nur eine Person (z.B. A) mittels Benutzer und PW erstellen\ändern, andere Benutzer (B-G) können nach PW-Eingabe nur die Anfangs- und Endezeiten des IST-Plan in ihrer jeweiligen Spalte ändern.
Sind diese Ideen überhaupt mit Excel umsetztbar oder vergallopiere ich mich da schon gleich zu Beginn?
Lieben Dabk im Voraus und Gruß, URH
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Umsetzbar, Ja ... aber
09.01.2018 10:35:51
Matthias
Hallo
Als erstes solltest Du dafür sorgen, das im Schaltjahr nicht plötzlich ein Tag fehlt!
Tabelle1

 A
60Sa, 24.02.2024
61So, 25.02.2024
62Mo, 26.02.2024
63Di, 27.02.2024
64Mi, 28.02.2024
65Fr, 01.03.2024
66Sa, 02.03.2024
67So, 03.03.2024


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Siehst Du es, da fehlt der 29.02
Das kannst Du ganz schnell lösen, in dem Du die Formel ( Zellbezug + 1 ) als Formel benutzt
Erst am Jahresende fragst Du ab ob das ( Jahr + 1 ) das selbe Jahr ist wie beim Zellbezug


die Arbeitstage des ausgewählten Monat ermitteln und in eine Zelle schreiben
Dafür gibts bereits integrierte Funktion in Excel: NettoArbeitstage
Also generell ist es machbar.
Gruß Matthias
Anzeige
AW: Umsetzbar, Ja ... aber
09.01.2018 11:30:03
URH
Moin Matthias,
Danke für den Hinweis.
Das hab ich wohl übersehen und habs nun ein Tick anders gelöst ;)
An der Stelle an der der 29.02.2020 stehen müsste habe ich eine Zeile eingefügt.
Stell ich in der Hilfstabelle das Startdatum auf 1.1.2020 dann passt das :)
Sinnvoll und etwas ästhetischer wäre jetzt noch die komplette Zeile auszublenden, wenn A65 leer ist ;)
Irgendwie mit sowas?:
Private Sub Worksheet_Calculate() If Range("A65").Value = "" Then Rows(65).Hidden = True Else Rows(65).Hidden = False End If End Sub Gruß, URH
Anzeige
AW: Umsetzbar, Ja ... aber
09.01.2018 11:56:29
yummi
Hallo URH,
folgendes in ein Modul kopieren:

Function Ausblenden(iWert As Integer)
Dim i As Integer
Beschleunigen True
For i = 6 To 371
If Month(ThisWorkbook.Sheets(1).Cells(i, 1).Value)  iWert Then
ThisWorkbook.Sheets(1).Rows(i).Hidden = True
Else
ThisWorkbook.Sheets(1).Rows(i).Hidden = False
End If
Next i
Beschleunigen False
End Function
Function Beschleunigen(ByVal BGesetzt As Boolean)
BGesetzt = Not BGesetzt
With Application
.ScreenUpdating = BGesetzt
.AskToUpdateLinks = BGesetzt
.EnableEvents = BGesetzt
.Calculation = BGesetzt
.DisplayAlerts = BGesetzt
End With
End Function
dan noch in deine Spin funktionen den Aufruf
Ausblenden SpinButton1.Value
und fertig
Gruß
yummi
Anzeige
@yummi ... Ja, das gefällt mir :-) owT
09.01.2018 17:29:25
Matthias
AW: @yummi ... Ja, das gefällt mir :-) owT
09.01.2018 19:06:18
URH
Hallo yummi,
super, das funktioniert (fast) perfekt. Danke!
Ich hatte am Anfang einen Typfehler und es wurden auch nicht alle Zeile ausgeblendet, das lag aber an der Zeile 65 (29.02.xx). Als ich die Zeile löschte liefs wie am Schnürchen :)
Jetzt muß ich mir für Zeile falls ein Schaltjahr doch nochmal was anderes überlegen.
Andere Frage: Wie mach ich es am Geschicktesten, daß soweit nötig alle Zeilen eingeblendet werden können? Kann ja sein, daß man mal eine Jahresübersicht haben möchte.
Gruß und Danke nochmals, URH
Anzeige
oh mann oh mann ...
09.01.2018 20:35:41
Matthias
Hallo URH
Datum + 1
hatte ich bereits vorgeschlagen!

Warum Du nun mir diesen Beitrag schreibst, ist mir unklar!
Gruß Matthias
AW: oh mann oh mann ...
11.01.2018 10:34:28
URH
Hallo Matthias,
Sorry, das war wohl ein Versehen bzw. das Übersehen bestimmter Eigenarten dieses Forums.
Zum anderen muss ich zugeben, daß ich deinen Vorschlag nicht verstanden habe und vielleicht bin ich die Idee zu der Dienstplanvorlage auch komplett falsch angegangen, sowohl was den Einsatz von Formeln als auch was VBA betrifft.
In A6 hohle ich mit

=Hilfstabelle!A2
den 1.1. des Jahres und fahre in jeder Zeile weiter mit

=WENNFEHLER(WENN(MONAT(A6+1)=MONAT($A6);A6+1;"");"")
.
Zum jeweiligen Monatsanfang (ab. 1.2) habe ich diese Formel:

=EDATUM(A6;1)

Wo und wie soll ich deinen Vorschlag zum Einsatz bringen?
Und zu guter Letzt: Von der Formel "Nettoarbeitstage" hörte ich schon mal.
Das würd ich schon gerne verbauen, jedoch müßte sich das Ergebnis auf den jeweiligen Bereich (Monat) beziehen der Eingeblendet ist bzw. auf das gesamte Jahr bei der Jahresansicht.
Wenn ich diese Hürde zu überspringen ist, dann sollte der Weg auch vorgezeichnet sein wie ich z.B. SOLL- und IST-Stunden für den jeweils angezeigten Monat (oder das gesamte Jahr) anzeige.
Gruß, URH
Anzeige
das hatte ich doch schon erwähnt ...
11.01.2018 23:21:19
Matthias
Hallo
Tabelle1

 A
6Mo, 01.01.2018
7Di, 02.01.2018
8Mi, 03.01.2018
9Do, 04.01.2018
10Fr, 05.01.2018
11Sa, 06.01.2018
12So, 07.01.2018

Formeln der Tabelle
ZelleFormel
A6=Hilfstabelle!A2
A7=A6+1
A8=A7+1
A9=A8+1
A10=A9+1
A11=A10+1
A12=A11+1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
AW: das hatte ich doch schon erwähnt ...
13.01.2018 11:18:49
URH
Hallo Matthias,
du hattest natürlich Recht und ganz simpel war's dann auch noch.
Da ich das Ganze aus einem sehr ähnlichen "Projekt", das schon länger zurückliegt, aufgebaut habe, hab ich mich wohl auch an den Formeln und an ein paar anderen Dingen in der Hilfstabelle, die nun obsolet sind, fest gebissen.
Etwas unschön ist nun allerdings, daß die bedingte Formatierung ggf. wg. Schaltjahr zwangsläufig bis Zeile 371 laufen muss. Somit ist auch B371 grün eingefärbt, wenn kein Schaltjahr ist.
Danke nochmals für deinen Tipp und deine Geduld diesen 3 zu wiederholen ;)
Gruß, URH
Anzeige
AW: @yummi ... Ja, das gefällt mir :-) owT
10.01.2018 10:26:15
yummi
Hallo Urh,
kannst Du z.B. so machen, wie in der beigefügten Datei. Ohne deine letzten Änderungen und beachte auch den Hinweis von Matthias
https://www.herber.de/bbs/user/118847.xlsm
Gruß
yummi
AW: @yummi ... Ja, das gefällt mir :-) owT
13.01.2018 11:32:26
URH
Hallo yummi,
vielen Dank für deinen Vorschlag, den ich gerne eingebaut hab. Funktioniert super :)
Was mir an der Stelle gerade aufgefallen ist und ich nicht genau weiß wo ich das in deinem Code unterbringen soll: Wenn Checkbox aktiv (alle Zeilen werden eingeblendet), dann sollen die Spinbuttons deaktiviert sein und an Stelle des Monats in A2 könnte sowas wie "Gesamt" stehen.
Ist die Checkbox deaktiviert, dann sind die Spinbuttons aktiv, es können Monate ausgewählt werden bzw. der aktuelle Monat wird angezeigt.
Gruß, URH
Anzeige
AW: @yummi ... Ja, das gefällt mir :-) owT
15.01.2018 12:14:06
yummi
Hallo Urh,
einfach die Funktion etwas erweitern:

Private Sub CheckBox1_Click()
If CheckBox1.Value = -1 Then
SpinButton1.Enabled = False
ThisWorkbook.Worksheets(1).Cells(1, 2).Value = "Gesamt"
Else
SpinButton1.Enabled = True
End If
Call Ausblenden(SpinButton1.Value, CheckBox1.Value)
End Sub
Gruß
yummi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen ausblenden bei nicht ausgewähltem Monat


Schritt-für-Schritt-Anleitung

Um in Excel Zeilen auszublenden, wenn der Monat nicht ausgewählt ist, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Drehschalter hinzufügen: Füge einen Drehschalter (SpinButton) auf deinem Excel-Blatt hinzu, um den gewünschten Monat auszuwählen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (dein Dateiname)" und wähle Einfügen > Modul.

  4. Code einfügen: Kopiere und füge den folgenden VBA-Code in das Modul ein:

    Function Ausblenden(iWert As Integer)
        Dim i As Integer
        Beschleunigen True
        For i = 6 To 371
            If Month(ThisWorkbook.Sheets(1).Cells(i, 1).Value) <> iWert Then
                ThisWorkbook.Sheets(1).Rows(i).Hidden = True
            Else
                ThisWorkbook.Sheets(1).Rows(i).Hidden = False
            End If
        Next i
        Beschleunigen False
    End Function
    
    Function Beschleunigen(ByVal BGesetzt As Boolean)
        BGesetzt = Not BGesetzt
        With Application
            .ScreenUpdating = BGesetzt
            .AskToUpdateLinks = BGesetzt
            .EnableEvents = BGesetzt
            .Calculation = BGesetzt
            .DisplayAlerts = BGesetzt
        End With
    End Function
  5. SpinButton anpassen: Füge in die SpinButton-Funktion den Aufruf Ausblenden SpinButton1.Value ein, um die Zeilen basierend auf dem ausgewählten Monat auszublenden.

  6. Excel speichern: Speichere die Datei als Excel-Makro-fähige Arbeitsmappe (*.xlsm).


Häufige Fehler und Lösungen

  • Fehler: Zeilen werden nicht ausgeblendet

    • Lösung: Überprüfe, ob die Zellen mit Datumswerten korrekt formatiert sind. Datumswerte sollten im richtigen Format vorliegen (z.B. TT.MM.JJJJ).
  • Fehler: Schaltjahr wird nicht berücksichtigt

    • Lösung: Stelle sicher, dass du die Formel zur Berechnung der Tage korrekt anwendest, um den 29. Februar in Schaltjahren zu berücksichtigen.
  • Fehler: Ungewollte Zeilen bleiben sichtbar

    • Lösung: Achte darauf, dass die Schleife in der Funktion Ausblenden korrekt die Bedingung überprüft und die Zeilen entsprechend versteckt.

Alternative Methoden

Eine weitere Möglichkeit, Zeilen in Excel auszublenden, ist die Verwendung von bedingter Formatierung. Du kannst eine Regel erstellen, die die Zeilen basierend auf dem Monat einfärbt oder ausblendet:

  1. Markiere die Zeilen, die du bedingt ausblenden möchtest.

  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.

  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.

  4. Gib eine Formel ein, die den Monat prüft, z.B.:

    =MONAT(A6)<>Monatsauswahl
  5. Setze die Formatierung auf Keine Füllung, um die Zeilen optisch auszublenden.


Praktische Beispiele

Hier sind einige Beispiele, wie du Zeilen ausblenden kannst:

  • Beispiel 1: Möchtest du alle Zeilen, die nicht zum aktuellen Monat gehören, ausblenden. Du kannst den oben beschriebenen VBA-Code verwenden.

  • Beispiel 2: Wenn du eine Tabelle mit Feiertagen hast, kannst du die Wochenenden und Feiertage mit der bedingten Formatierung einfärben und dann mit einem Makro die nicht benötigten Zeilen ausblenden.

  • Beispiel 3: Erstelle eine Hilfstabelle, die die Anzahl der Arbeitstage im ausgewählten Monat ermittelt, und blende die Zeilen aus, die nicht zu diesem Zeitraum gehören.


Tipps für Profis

  • Verwendung von Application.ScreenUpdating: Dies verbessert die Performance, wenn du viele Zeilen gleichzeitig ausblendest.

  • Erweiterbare Funktion: Du kannst die Ausblenden-Funktion anpassen, um zusätzliche Kriterien wie Feiertage oder Wochenenden zu berücksichtigen.

  • Checkbox zur Steuerung: Implementiere eine Checkbox, um zwischen der monatlichen Ansicht und einer Gesamtansicht umzuschalten.


FAQ: Häufige Fragen

1. Wie kann ich alle Zeilen auf einmal wieder einblenden? Du kannst dies tun, indem du einfach die Hidden-Eigenschaft aller Zeilen auf False setzt. Ein einfacher VBA-Code könnte so aussehen:

Sub AlleZeilenEinblenden()
    ThisWorkbook.Sheets(1).Rows.Hidden = False
End Sub

2. Funktioniert das auch in älteren Excel-Versionen? Ja, die Methoden sind in den meisten Excel-Versionen anwendbar, insbesondere wenn VBA unterstützt wird. Achte darauf, dass du die richtigen Sicherheits- und Makro-Einstellungen vornimmst.

3. Kann ich auch Zellen ausblenden, nicht nur Zeilen? Ja, du kannst auch Zellen ausblenden, indem du die Hidden-Eigenschaft für die Zellen verwendest. Beachte jedoch, dass dies die Sichtbarkeit der Daten beeinträchtigen kann.

4. Wie kann ich die bedingte Formatierung für das Ausblenden von Zeilen anpassen? Du kannst die Formel in der bedingten Formatierung anpassen, um spezifische Bedingungen zu definieren, unter denen die Zeilen ausgeblendet werden sollen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige