Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn Checkbox aktiv dann ausblenden in anderem Blatt

Wenn Checkbox aktiv dann ausblenden in anderem Blatt
27.01.2020 10:57:33
Felix
Hallo Zusammen,
ich schustere mir seit einigen Wochen mehr schlecht als recht ein großes Makro-Formular zusammen, in dem verschiedenen Projektschritte bearbeitet werden in Sheet1 ("Vorschau"). Jetzt möchte ich dort eine Checkbox setzen die bei aktivierung / deaktivierung folgendes macht:
im Blatt3 ("OP-Liste") alle Zeilen ausblenden (bei nicht-aktivierung der Checkbox) oder einblenden (bei aktivierung der Checkbox), die in Spalte "AA" den Wert "SAV" stehen haben.
Das habe ich alles hin bekommen, wenn die Checkbox im gleichen Blatt ist wie die auszublendenden Zellen. Wenn ich jeder aber die Checkbox in einem anderen Blatt habe, wie gewünscht - keine Chance... habe irgendwie schon alle Fehler mitgenommen. Außerdem habe ich die vorstellung, dass das ganze "im Hintergrund" läuft - also nicht:
Sheets("OP-Liste").Select
dann hier arbeiten
dann wieder
Sheets("Vorschau").select
also quasi, dass der User davon nichts mitbekommt und es im HIntergrund läuft.
Hier mal mein kläglicher Versuch...
____________________________________________
Private Sub CheckBox1_Click() 'Checkbox befindet sich in Sheet("Vorschau")
If CheckBox1.Value = False Then
Sheets("OP-Liste").Select 'Das hier ist das was eigentlich im Hintergrund gewünscht ist...
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
If Zelle.Value = "SAV" And Rows(Zelle.Row).Hidden = False _
Then Rows(Zelle.Row).Hidden = True
Next Zelle
Sheets("Vorschau").Select
End If
If CheckBox1.Value = True Then
Sheets("OP-Liste").Select
Sheets("OP-Liste").Select
For Each Zelle In ActiveSheet.UsedRange
If Zelle.Value = "SAV" And Rows(Zelle.Row).Hidden = True _
Then Rows(Zelle.Row).Hidden = False
Next Zelle
Sheets("Vorschau").Select
End If
End Sub

________________________________________
Vielen Dank euch schonmal! BIn für jede Anmerkung / Hilfe offen.
VG Felix
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Doppelt ... OwT
27.01.2020 11:16:10
Pierre
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Checkbox aktivieren und Zeilen in anderem Blatt ausblenden


Schritt-für-Schritt-Anleitung

Um eine Checkbox zu erstellen, die bei Aktivierung oder Deaktivierung bestimmte Zeilen in einem anderen Blatt ausblendet oder einblendet, kannst Du folgendes Vorgehen nutzen:

  1. Checkbox einfügen:

    • Gehe zu Entwicklertools > Einfügen > Kontrollkästchen (Formularsteuerelement).
    • Platziere die Checkbox in Sheet1 ("Vorschau").
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Doppelklicke auf Sheet1 in der Projektansicht.
  3. Code für die Checkbox hinzufügen:

    • Füge den folgenden Code in das Editorfenster ein:
    Private Sub CheckBox1_Click()
        Dim Zelle As Range
        Dim wsOPListe As Worksheet
        Set wsOPListe = ThisWorkbook.Sheets("OP-Liste")
    
        If CheckBox1.Value = False Then
            For Each Zelle In wsOPListe.UsedRange
                If Zelle.Value = "SAV" And Rows(Zelle.Row).Hidden = False Then
                    Rows(Zelle.Row).Hidden = True
                End If
            Next Zelle
        Else
            For Each Zelle In wsOPListe.UsedRange
                If Zelle.Value = "SAV" And Rows(Zelle.Row).Hidden = True Then
                    Rows(Zelle.Row).Hidden = False
                End If
            Next Zelle
        End If
    End Sub
  4. VBA-Editor schließen:

    • Schließe den Editor und teste die Checkbox in Sheet1.

Häufige Fehler und Lösungen

  • Fehler: Checkbox funktioniert nicht:

    • Stelle sicher, dass die Checkbox zu Sheet1 gehört. Überprüfe den Namen der Checkbox im VBA-Editor.
  • Fehler: Zeilen werden nicht ausgeblendet:

    • Überprüfe, ob der Wert in Spalte "AA" tatsächlich "SAV" ist. Achte auf Leerzeichen oder andere Zeichen.
  • Fehler: Das Blatt wird nicht gefunden:

    • Stelle sicher, dass das Blatt "OP-Liste" korrekt benannt ist.

Alternative Methoden

Wenn Du eine einfachere Methode zur Steuerung der Sichtbarkeit von Zeilen bevorzugst, kannst Du auch Data Validation oder Filter verwenden. Bei aktivierter Checkbox könntest Du die Formel =FILTER() verwenden, um die Daten in einem neuen Blatt darzustellen.


Praktische Beispiele

Wenn Du mehrere Checkboxen hast, die verschiedene Werte in Sheet3 steuern, kannst Du den Code entsprechend erweitern:

Private Sub CheckBox2_Click()
    ' Ähnlicher Code wie oben für CheckBox2
End Sub

Hierbei wird für jede Checkbox ein entsprechender Codeabschnitt benötigt.


Tipps für Profis

  • Verwende Named Ranges: Statt auf UsedRange zuzugreifen, kannst Du benannte Bereiche verwenden, um die Lesbarkeit des Codes zu erhöhen.
  • Automatisierung: Wenn Du mit vielen Checkboxen arbeitest, könnte ein zentrales Steuerungsskript sinnvoll sein, das alle Checkboxen in einem Schritt verarbeitet.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Checkboxen in einem Blatt verwenden? Du kannst für jede Checkbox einen eigenen Click-Ereignis-Handler im VBA erstellen, der die Sichtbarkeit der relevanten Zeilen steuert.

2. Wie kann ich die Checkbox standardmäßig aktivieren? Du kannst den Wert der Checkbox im Worksheet_Activate-Ereignis setzen oder in der Workbook_Open-Prozedur, um sie beim Öffnen der Datei zu aktivieren.

3. Kann ich die Funktionalität auch in Notion verwenden? In Notion kannst Du ähnliche Logik mit Formeln umsetzen, jedoch ist die Funktionalität von Excel nicht direkt übertragbar. Nutze die Funktionen von Notion, um Bedingungen zu prüfen, wenn ein Kontrollkästchen aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige