Thema Datum  Von Nutzer Rating
Antwort
Rot Ausblenden / Einblenden von Zeilen anhand Checkboxen
18.07.2024 00:39:27 Roman
NotSolved
18.07.2024 11:43:38 Gast44435
NotSolved
18.07.2024 11:59:47 Gast7215
NotSolved

Ansicht des Beitrags:
Von:
Roman
Datum:
18.07.2024 00:39:27
Views:
415
Rating: Antwort:
  Ja
Thema:
Ausblenden / Einblenden von Zeilen anhand Checkboxen

Hallo zusammen, 

ich habe angefangen mich mit VBAs und Co auseinander zusetzen und bin leider sehr schnell an meine Grenzen gekommen. 

 

Ich möchte ein VBA erstellen der immer auf dem gesammten Blatt prüft ob eine Änderung an Checkboxen vorgenommen wurde und prüft ob die Checkbox ausgewählt wurde oder nicht. 

Sollte die Checkbox nicht ausgewählt worden sein,
sollen alle Spalten unter der in der sich die Checkbox befindet,
bis zur nächsten Spalte in der sich eine Checkbox befindet, ausgeblendet werden. 

Sollte die Checkbox ausgefüllt sein sollen die Spalten bis zur nächsten Spalte in der sich eine Checkbox befindet eingeblendet werden. 

 

Da ich selber mittlerweile nicht weiterkomme habe ich Chat GPT gefragt und es wurden mir zwei VBAs vorgeschlagen. 
Aber leider bekomme ich keins von beiden zum laufen. 

Könnte mir vielleich einer von euch weiterhelfen bzw. hätte eine Idee wie man das ganze umsetzen könnte? 

 

Danke im vor raus und Grüße

Roman 

------------------------------------------------------------------------------------------------------

Sub CheckboxPrüfung()
    Dim cb As CheckBox
    Dim ws As Worksheet
    Dim i As Integer
    Dim hideRows As Boolean

    Set ws = ThisWorkbook.Sheets("Overview")
    
    For Each cb In ws.CheckBoxes
        If cb.Value = 1 Then
            hideRows = False
        Else
            hideRows = True
        End If

        i = cb.TopLeftCell.Row + 1

        Do While i <= ws.Cells(ws.Rows.Count, cb.TopLeftCell.Column).End(xlUp).Row
            If ws.Cells(i, cb.TopLeftCell.Column).Value <> "" Then
                If TypeOf ws.Cells(i, cb.TopLeftCell.Column).Value Is CheckBox Then
                    Exit Do
                End If

                If hideRows Then
                    ws.Rows(i).EntireRow.Hidden = True
                Else
                    ws.Rows(i).EntireRow.Hidden = False
                End If
            End If

            i = i + 1
        Loop
    Next cb

End Sub
-------------------------------------------------------------------------------------------------------------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chkBox As CheckBox
    Dim rng As Range
    Dim col As Integer

    Application.EnableEvents = False

    For Each chkBox In Me.CheckBoxes
        If Not Intersect(Target, chkBox.TopLeftCell) Is Nothing Then
            col = chkBox.TopLeftCell.Column
            Set rng = Me.Columns(col)

            If chkBox.Value = xlOff Then
                Do Until IsEmpty(Me.Cells(1, col + 1)) Or Me.Cells(1, col + 1).Value Like "*Checkbox*"
                    Me.Columns(col + 1).Hidden = True
                    col = col + 1
                Loop
            Else
                Do Until IsEmpty(Me.Cells(1, col + 1)) Or Me.Cells(1, col + 1).Value Like "*Checkbox*"
                    Me.Columns(col + 1).Hidden = False
                    col = col + 1
                Loop
            End If

            Exit For
        End If
    Next chkBox

    Application.EnableEvents = True
End Sub

---------------------------------------------------------------------------------------------------------------------------


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ausblenden / Einblenden von Zeilen anhand Checkboxen
18.07.2024 00:39:27 Roman
NotSolved
18.07.2024 11:43:38 Gast44435
NotSolved
18.07.2024 11:59:47 Gast7215
NotSolved