Spalten abhängig von der Schriftart ausblenden mit vba
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
Antwort schreiben
Antwort 1 von Hajo_Zi vom 23.02.2021, 15:07 OptionsLösung
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
Antwort 2 von Janinchen vom 23.02.2021, 15:28 Options
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
Antwort 3 von Hajo_Zi vom 23.02.2021, 15:29 Options
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