3.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Leute!

Ich habe folgenden Code in meiner Arbeitsmappe!

Beim ersten Klick auf den Button blendet er mir die angegebenen Spalten aus!

Beim zweiten Klick sollen alle Spalten wieder eingeblendet, die Gruppierungen minimiert und die ersten beiden Spalten ausgeblendet werden!
Hier hapert es jedoch!

Kann mir jemande sagen, wo der Fehler liegt?


Private Sub ToggleButton1_Click()

If ToggleButton1 = True Then

Dim rngZelle As Range
Dim Prüfzeile As Long, ErsteSpalte As Long, X As Long
Prüfzeile = 27 ' anpassen
ErsteSpalte = 4 ' anpassen
For X = ErsteSpalte To Cells(Prüfzeile, Columns.Count).End(xlToLeft).Column
Set rngZelle = Cells(Prüfzeile, X)
If IsEmpty(rngZelle) Then
rngZelle.Offset(0, 0).Resize(1, 1).EntireColumn.Hidden = True
End If
Next

'Problemzone!!!
If ToggleButton1 = False Then



Columns("C:DM").Select
Selection.EntireColumn.Hidden = False
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1

Range("A:A,b:b").EntireColumn.Hidden = True '[/b]

End If
End If

End Sub

Danke!

Gruss

Ines

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Ines,

ich hätte es vielleich so geschrieben.

Option Explicit

Private Sub ToggleButton1_Click()
Dim rngZelle As Range
Dim Prüfzeile As Long, ErsteSpalte As Long, X As Long
If ToggleButton1 Then
Prüfzeile = 27 ' anpassen
ErsteSpalte = 4 ' anpassen
For X = ErsteSpalte To Cells(Prüfzeile, Columns.Count).End(xlToLeft).Column
Set rngZelle = Cells(Prüfzeile, X)
If IsEmpty(rngZelle) Then
rngZelle.Offset(0, 0).Resize(1, 1).EntireColumn.Hidden = True
End If
Next
'Problemzone!!!
Else
Columns("C:DM").EntireColumn.Hidden = False
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
Range("A:A,b:b").EntireColumn.Hidden = True '[/b]
End If
End If
Set rngZelle = Nothing
End Sub


Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

da so nicht testbar, aber

Range("A:B").EntireColumn.Hidden = True

sollte gehen oder

Columns("A:B").EntireColumn.Hidden = True '[/b]

Gruß

Helmut
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

aber ohne

Columns("A:B").EntireColumn.Hidden = True '[/b]

also so

Columns("A:B").EntireColumn.Hidden = True


Gruß


Helmut
0 Punkte
Beantwortet von
Super!

Funktioniert, mußte nur das eine End If rausnehmen!

Vielen Dank!
...