1.9k Aufrufe
Gefragt in Tabellenkalkulation von janinchen Einsteiger_in (17 Punkte)
Hallo Leute,
vielleicht kann mir ja einer von euch auf die Srünge helfen...

Ich habe eine Tabelle mit 2 CommandButtons:
Private Sub CommandButton1_Click() 'Ausblenden
Private Sub CommandButton2_Click() 'Einblenden

Wenn ich CommandButton 1 klicke sollen alle Spalten der Tabelle ausgeblendet werden, deren Schrift nicht fett ist.

Wenn ich auf CommanButton 2 klicke sollen alle Spalten wieder eingeblendet werden.

Kann mir bitte jemand den vba-code dazu sagen?

Danke und Grüße
Janinchen

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Halo Jani,

Option Explicit

Private Sub CommandButton1_Click()
' ausblenden
Dim loI As Long
Dim LoLetzte As Integer
Application.ScreenUpdating = False
' unabhängig von Excelversion
' für Zeile 1
LoLetzte = IIf(IsEmpty(Cells(1, Columns.Count)), Cells(1, Columns.Count).End(xlToLeft).Column, Columns.Count)
For loI = 1 To LoLetzte
Columns(loI).EntireColumn.Hidden = Cells(1, loI).Font.Bold
Next loI
Application.ScreenUpdating = True
End Sub

Gruß Hajo
0 Punkte
Beantwortet von janinchen Einsteiger_in (17 Punkte)
Hallo Hajo,

der Code ist fast richtig! ;-)

Es sollen aber die nicht Fett gechriebenen Spatlen ausgeblendet werden.
Bei mir blendet es jetzt die fetten Spalten aus.

Kannst du mir noch mal helfen?

LG Janine
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo

oder nur ein Schalter
Option Explicit

Private Sub CommandButton1_Click()
' ausblenden
Dim loI As Long
Dim LoLetzte As Integer
Application.ScreenUpdating = False
' unabhängig von Excelversion
' für Zeile 1
LoLetzte = IIf(IsEmpty(Cells(1, Columns.Count)), Cells(1, Columns.Count).End(xlToLeft).Column, Columns.Count)
For loI = 1 To LoLetzte
If Cells(1, loI).Font.Bold = false Then
Columns(loI).EntireColumn.Hidden = Not Columns(loI).EntireColumn.Hidden
End If
Next loI
Application.ScreenUpdating = True
End Sub

Gruß Hajo
0 Punkte
Beantwortet von janinchen Einsteiger_in (17 Punkte)
Perfekt!
Dankeschön :-)
...