Excel VBA Spalte über einen Button in einer Useform ein- und ausblenben

Nico_B

Lt. Junior Grade
Registriert
Sep. 2010
Beiträge
345
Guten Abend.

Ich möchte gerne über einen Button wahlweise an Hand des Status der Spalten diese ein- und ausblenden. Leider klappt es jedoch nicht so, wie ich mir das vorstelle:

Code:
Private Sub CMDB_GP_Daten_Click()

If Worksheets("Planwerte").Range("G,I:K").EntireColumn.Hidden = True Then

    Worksheets("Planwerte").Range("G,I:K").EntireColumn.Hidden = False
  
Else

If Worksheets("Planwerte").Range("G,I:K").EntireColumn.Hidden = False Then

    Worksheets("Planwerte").Range("G,I:K").EntireColumn.Hidden = True
  
    End If
    End If

End Sub

Wo ist der Fehler?

Vielen Dank.
 
Code:
Private Sub CMDB_GP_Daten_Click()

If Worksheets("Planwerte").Range("G:G,I:K").EntireColumn.Hidden = True Then

    Worksheets("Planwerte").Range("G:G,I:K").EntireColumn.Hidden = False

ElseIf Worksheets("Planwerte").Range("G:G,I:K").EntireColumn.Hidden = False Then

    Worksheets("Planwerte").Range("G:G,I:K").EntireColumn.Hidden = True

End If

End Sub
Ergänzend als Erklärung, Range erwartet einen Bereich von bis. Es reicht also nicht Spalte G sondern G:G. Also quasi (G bis G)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Bemme90
Der Range-Bereich ist falsch angegeben.
Du musst es anders ansprechen.

Anders:

Code:
For i = 1 To ActiveSheet.UsedRange.Columns.Count

    If i = 7 Or i = 9 Or i = 10 Or i = 11 Then
   
        If ActiveSheet.Columns(i).EntireColumn.Hidden = True Then
            ActiveSheet.Columns(i).EntireColumn.Hidden = False
        ElseIf ActiveSheet.Columns(i).EntireColumn.Hidden = False Then
            ActiveSheet.Columns(i).EntireColumn.Hidden = True
        End If
   
    End If
       
Next i
 
Zuletzt bearbeitet:
Zurück
Oben