Leere Zeilen in Excel per Kontrollkästchen ein- bzw. ausblenden
Hallo,
da ich von VBA in Excel leider keine Ahnung habe und gerade mal das Aufzeichnen eines Markos hinbekomme, muss ich die Pro's unter euch mit meiner wahrscheinlich leicht zu lösenden Problemstellung belästigen.
Über einen Spezialfilter und den obenstehenden Kriterien bewerkstellige ich das Filtern der Leerzeilen. Nun habe ich mir ein Kontrollkästchen erzeug und ein Makro dazu aufgezeichnet, dass diesen Filter anwendet und somit die Leerzeilen ausblendet. Über ein zweites aufgezeichnetes Makro kann ich diesen Filter wieder löschen, damit die Leerzeilen wieder angezeigt werden.
Problem:
Wie bekomm ich das mit einem Kontrollkästchen geregelt (Haken -> Leerzeilen ausblenden, kein Haken -> Leerzeilen einblenden)?
Für mich wäre es optimal, wenn dies über Excel, ohne VBA "Handtippen", möglich ist.
Ich weiß einfach nicht, wie ich zum einen im Makro den Verweis auf diese Checkbox bekomme, bzw. wie ich eine IF Abfrage (Haken / kein Haken) mit einbeziehen kann.
Meine aufgezeichneten Makros sehen wie folgt aus:
Das Ergebnis nach dem Aktivieren des Kontrollkästchens sollte so aussehen:
da ich von VBA in Excel leider keine Ahnung habe und gerade mal das Aufzeichnen eines Markos hinbekomme, muss ich die Pro's unter euch mit meiner wahrscheinlich leicht zu lösenden Problemstellung belästigen.
Spalte A | Spalte B |
Kriterium | Text |
>0 | |
=-1 | |
Kriterium | Text |
1 | ABC |
2 | ABC |
3 | ABC |
4 | ABC |
5 | ABC |
6 | ABC |
(diese Zeile soll ausgeblendet werden) | |
(diese Zeile soll ausgeblendet werden) | |
(diese Zeile soll ausgeblendet werden) | |
(diese Zeile soll ausgeblendet werden) | |
(diese Zeile soll ausgeblendet werden) | |
-1 | diese Zeile wird nicht ausgeblendet |
Über einen Spezialfilter und den obenstehenden Kriterien bewerkstellige ich das Filtern der Leerzeilen. Nun habe ich mir ein Kontrollkästchen erzeug und ein Makro dazu aufgezeichnet, dass diesen Filter anwendet und somit die Leerzeilen ausblendet. Über ein zweites aufgezeichnetes Makro kann ich diesen Filter wieder löschen, damit die Leerzeilen wieder angezeigt werden.
Problem:
Wie bekomm ich das mit einem Kontrollkästchen geregelt (Haken -> Leerzeilen ausblenden, kein Haken -> Leerzeilen einblenden)?
Für mich wäre es optimal, wenn dies über Excel, ohne VBA "Handtippen", möglich ist.
Ich weiß einfach nicht, wie ich zum einen im Makro den Verweis auf diese Checkbox bekomme, bzw. wie ich eine IF Abfrage (Haken / kein Haken) mit einbeziehen kann.
Meine aufgezeichneten Makros sehen wie folgt aus:
Sub Spezialfilter_anwenden()
'
' Spezialfilter_anwenden Makro
'
'
Range("G10").Select
Range("B6:C28").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("Tabelle1!Criteria"), Unique:=False
End Sub
Sub Spezialfilter_löschen()
'
' Spezialfilter_löschen Makro
'
'
ActiveSheet.ShowAllData
End Sub
Das Ergebnis nach dem Aktivieren des Kontrollkästchens sollte so aussehen:
Spalte A | Spalte B |
Kriterium | Text |
>0 | |
=-1 | |
Kriterium | Text |
1 | ABC |
2 | ABC |
3 | ABC |
4 | ABC |
5 | ABC |
6 | ABC |
-1 | diese Zeile wird nicht ausgeblendet |
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175244
Url: https://administrator.de/contentid/175244
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
1 Kommentar
Hallo,
für mich stellt sich die Frage, was in den "leeren" Zeilen steht, bzw. warum die "leer" sind und erst ein paar Zeilen weiter unten weitergeschrieben wird. Warum sollten sonst die Zeilen übersprungen werden.
Ansonsten hätte ich folgendne Vorschlag:
da ja irgendeine Spalte fortlaufende Informationen bereitstellt, kann hier die mit der Formel "if(isset)" gearbeitet werden. Es gibt auf diese Abfrage hin zwei Möglichkeiten= "true" oder "false"
Je nach ergebnis dann dein Makro anwenden.
Vielleicht hilft es dir weiter
Gruß
für mich stellt sich die Frage, was in den "leeren" Zeilen steht, bzw. warum die "leer" sind und erst ein paar Zeilen weiter unten weitergeschrieben wird. Warum sollten sonst die Zeilen übersprungen werden.
Ansonsten hätte ich folgendne Vorschlag:
da ja irgendeine Spalte fortlaufende Informationen bereitstellt, kann hier die mit der Formel "if(isset)" gearbeitet werden. Es gibt auf diese Abfrage hin zwei Möglichkeiten= "true" oder "false"
Je nach ergebnis dann dein Makro anwenden.
Vielleicht hilft es dir weiter
Gruß