Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen

Wenn Checkbox aktiv dann ausblenden in anderem Blatt

Betrifft: Wenn Checkbox aktiv dann ausblenden in anderem Blatt von: Felix B.
Geschrieben am: 28.01.2020 07:16:32

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

Betrifft: AW: Wenn Checkbox aktiv dann ausblenden in anderem Blatt
von: SH95
Geschrieben am: 28.01.2020 07:26:23

Hallo Felix,

Der Code is ungetestet, da ich keine Bsp.-Datei hab.
Teste mal:
Private Sub CheckBox1_Click() 'Checkbox befindet sich in Sheet("Vorschau")
Dim Zelle As Range
    With Sheets("Op-Liste")
        If checkbox1.Value = False Then
            For Each Zelle In Sheets("OP-Liste").UsedRange
                If .Zelle.Value = "SAV" And .Rows(Zelle.Row).Hidden = False _
                    Then .Rows(Zelle.Row).Hidden = True
                End If
            Next Zelle
        End If

        If checkbox1.Value = True Then
            For Each Zelle In ActiveSheet.UsedRange
                If Zelle.Value = "SAV" And Rows(Zelle.Row).Hidden = True _
                    Then Rows(Zelle.Row).Hidden = False
            Next Zelle
        End If
    End With
End sub
Falls das nicht funktioniert, könntest du eine Bsp.Datei hochladen, dann hätte ich/wir das Original und könnten das Problem lösen.

Gruß
Stefan

Beiträge aus dem Excel-Forum zum Thema "Wenn Checkbox aktiv dann ausblenden in anderem Blatt"