AW: Ausblenden von Spalten mit leeren Zellen
24.10.2019 14:24:54
Spalten
Hallo Simone,
die Zeilen und Spalten habe ich extra variabel gehalten.
Const firstCol As Long = 2
Const lastCol As Long = 5
Const firstRow As Long = 2
firstCol, also die erste Spalte, ist 2, also B
lastCol, also die letzte Spalte, ist 5, also E
firstRow (die erste Zeile) ist 2, in Zeile 1 stehen überschriften. Diese Werte kannst du nach belieben anpassen.
Die letzte Zeile wird hier ermittelt
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzter Eintrag in Spalte A
das , 1) steht dabei für Spalte 1, also A. Brauchst du den letzten Wert aus Spalte C, änderst du das entsprechend in , 3) um.
Reicht dir ein Makro, um alle Spalten einzublenden? Dann so:
Sub SpaltenEinblenden()
ActiveSheet.Cells.EntireColumn.Hidden = False
End Sub
Oder willst du, nach einer erneuten Filterung vielleicht, die Spalten ein/ausblenden je nach Ergebnis? Dann so (schon an deinen Bereich angepasst):
Sub SpaltenAusblenden()
Const firstCol As Long = 6 '6 = F
Const lastCol As Long = 115 '115 = DK
Const firstRow As Long = 7 'In Zeile 6 stehen Überschriften, richtig?
Const lastRow As Long = 112 'Du schreibst es geht bis DK 112, also kein Grund LastRow zu _
ermitteln
Dim i As Long
For i = firstCol To lastCol
With ActiveSheet
.Cells(2, i).EntireColumn.Hidden = (Application.Subtotal(103, .Range(.Cells(2, i), .Cells( _
lastRow, i))) = 0)
End With
Next i
End Sub
LG,
Klaus M.