Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ausblenden von Spalten mit leeren Zellen

Ausblenden von Spalten mit leeren Zellen
24.10.2019 12:55:31
Spalten
Hallo!
Ich habe eine kleine Matrix, bei der ich nach Filtern der Bezeichnung in Spalte A, z.B. Baum, alle übrigen Spalten ausblenden möchte, die kein "x" enthalten.
Userbild
Die Anwendung ist für eine extrem umfangreiche Matrix gedacht, um wieder eine gute Lesbarkeit zu gewährleisten.
Im Forum habe ich dazu noch keine passende Formel oder ein Macro gefunden. Darum hoffe ich jemand kann mir weiterhelfen.
Vielen Dank und schönen Gruß
Simone

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausblenden von Spalten mit leeren Zellen
24.10.2019 13:13:02
Spalten
Hallo Simone,
per Makro so:

Sub SpaltenAusblenden()
Const firstCol As Long = 2
Const lastCol As Long = 5
Const firstRow As Long = 2
Dim lastRow As Long
Dim i As Long
For i = firstCol To lastCol
With ActiveSheet
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzter Eintrag in Spalte A
If Application.Subtotal(103, .Range(.Cells(2, i), .Cells(lastRow, i))) = 0 Then .Cells(2, i) _
.EntireColumn.Hidden = True
End With
Next i
End Sub
LG,
Klaus M.
AW: Ausblenden von Spalten mit leeren Zellen
24.10.2019 14:11:28
Spalten
Hallo Klaus,
super funktioniert einwandfrei! Vielen Dank! Was muss ich jetzt anpassen, wenn ich mehr Zeilen und Spalten habe?
Im Detail geht die große Tabelle von F6-DK112.
Kann ich über ein Macro das Ausblenden wieder rückgängig machen - zurücksetzen?
LG Simone
Anzeige
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.
Anzeige

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige