Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
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

Spalten mit Leerzellen in mark. Zeilen ausblenden

Spalten mit Leerzellen in mark. Zeilen ausblenden
14.10.2019 14:48:49
Dominik
Hallo,
ich habe eine sehr breite Excel Tabelle.
Pro Zeile sind aber bei weitem nicht alle Zellen ausgefüllt.
In mehreren aufeinanderfolgenden Zeilen stehen zusammegehörende Daten. Kleine "Zeilenpakete", 2-20 Zeilen.
Um Einträge in diesen Zeilen übersichtlicher zu darzustellen, also weniger scrollen zu müssen, würde ich gerne Spalten, in denen sich leere Zellen befinden ausblenden lassen.
Dazu würde ich gerne die kompletten Zeilen markieren und dann ein Makro drüberlaufen lassen.
Bisher konnte ich mir das hier zusammenbasteln:
Sub SpaltenAusblenden()
Dim Spalte As Integer
Dim SpalteEnd As Integer
With Tabelle1
SpalteEnd = .UsedRange.Columns.Count
For Spalte = 1 To SpalteEnd
If .Cells(ActiveCell.Row, Spalte).Value = "" Then
.Columns(Spalte).Hidden = True
Else
.Columns(Spalte).Hidden = False
End If
Next Spalte
End With
End Sub

Das Problem ist, dass sich das Makro mit ActiveCell.Row immer nur für die erste markierte Zeile interessiert. Gibt es einen Befehl, der den ganzen markierten Zeilenbereich berücksichtigt?
Hier eine Beispieldatei
https://www.herber.de/bbs/user/132522.xlsm
P.S.: Ich kann Makros "lesen" (zur Not mit Einzelschritt), aber nicht selber schreiben. Meistens kopiere ich mir Fragmente aus dem Internet zusammen und passe sie auf meine Tabellen an, was in aller Regel ganz gut klappt. Zu dieser Problemstellung konnte ich bisher aber nichts sinnvolles finden.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit Leerzellen in mark. Zeilen ausblenden
14.10.2019 14:58:14
ChrisL
Hi Dominik
Z.B. so....
Sub SpaltenAusblenden()
Dim Spalte As Integer
Dim SpalteEnd As Integer
Application.ScreenUpdating = False
With Tabelle1
SpalteEnd = .UsedRange.Columns.Count
For Spalte = 1 To SpalteEnd
.Columns(Spalte).Hidden = Rows.Count = WorksheetFunction.CountBlank(.Columns(Spalte))
Next Spalte
End With
End Sub

cu
Chris
AW: Spalten mit Leerzellen in mark. Zeilen ausblenden
14.10.2019 16:10:04
Dominik
Hi chris,
vielen Dank für die schnelle Antwort.
Dein Makro funktioniert im Grunde, habe es eben ausprobiert.
Leider behandelt dein Vorschlag alle Zeilen gleich.
Worum es mir geht, ist, dass nur markierte Zeilen bearbeitet werden. Also wenn die Zeilen vorne über die Zeilennummer markiert werden.
Bei nicht markierten Zeilen dürfen auch ausgefüllte Zellen/Spalten ausgeblendet werden.
Ich hoffe ich drücke mich verständlich aus.
Anzeige
AW: Spalten mit Leerzellen in mark. Zeilen ausblenden
14.10.2019 16:24:02
Daniel
Hi
probiers mal mit dieser IF-Abfrage (der rest bleibt):
If WorksheetFunction.CountA(Intersect(Selection.EntireRow, Columns(i))) = 0 Then
ausgeblendet wird eine Spalte, wenn im selektierten Zellbereich alle Zellen dieser Spalte leer sind.
beachte, dass beim Ausblenden immer nur die ganze Spalte ausgeblendet werden kann.
Gruß Daniel
AW: Spalten mit Leerzellen in mark. Zeilen ausblenden
14.10.2019 16:37:50
Dominik
Ich probiere es aus und melde mich dann wieder. Kann sein, dass es bis morgen dauert.
Vielen Dank schon mal!
AW: Spalten mit Leerzellen in mark. Zeilen ausblenden
15.10.2019 08:09:25
Dominik
Hallo Daniel,
ich hab's ausprobiert und es funtkioniert, wie es sein soll!!
Musste halt "i" durch "Spalte" ersetzen.
Vollständig sieht es jetzt so aus:
Sub SpaltenAusblenden()
Dim Spalte As Integer
Dim SpalteEnd As Integer
With Tabelle1
SpalteEnd = .UsedRange.Columns.Count
For Spalte = 1 To SpalteEnd
If WorksheetFunction.CountA(Intersect(Selection.EntireRow, Columns(Spalte))) = 0 Then
.Columns(Spalte).Hidden = True
Else
.Columns(Spalte).Hidden = False
End If
Next Spalte
End With
End Sub

Sub SpaltenEinblenden()
Tabelle1.Columns.Hidden = False
End Sub

Ich werde dem jetzt noch ein Tastarurkürzel zuweisen und dann wars das.
Vielen Dank an alle, die sich sich die Mühe gemacht haben, mich zu unterstützen!
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige