Excel: Zeilen bedingt ausblenden

2 Antworten

Wenn du weißt was drin stehen muss, um die Bedingung für's Ausblenden zu erfüllen, dann ist es am einfachsten, eine bedingte Formatierung zu machen, die Schrift- und Hintergrundfarbe gleich setzt. So wird die Tabelle nicht kleiner, aber es bleiben nur die für dich wichtigen Zellinhalte sichtbar.

Alternativ eine neue Tabelle, die die Zellen der jetzigen Tabelle in Abhängigkeit ihres Inhaltes übernimmt und gleichzeitig Leerzeilen ausläßt. Das ist über (teilw. komplexe) Formeln zu lösen.

PEPSIPaule 
Fragesteller
 21.10.2013, 19:29

Wie schon in der Frage gesagt:

"Weiterhin hab ich nicht vor, die Zellen einfach weiß zu machen und die Schrift auch weiß. Ich möchte, dass die Zellen wirklich verschwinden, sodass alles etwas zusammenrückt."

Bedingte Formatierung fält also aus.

Das mit mehreren Tabellen habe ich zZ, aber es ist einfach eine extrem unübersichtliche und sehr einschränkende Lösung.

0

Das ist tatsächlich sehr kompliziert. Makros sind da der einzige weg wenn das von den Eingaben abhängig laufen soll. Aber dazu würde ich diese Frage mal in einem Exel Forum stellen.

Makros übersteigen leider auch meine Kenntnisse, so das ich dir nur zum speziellen Forum raten kann.. sry =)

hannes1806  16.07.2020, 08:31

Hallo!

Das Makro hat nur 3 Zeilen.

Du hast ja keine Schwierigkeit, eine Formel zu basteln, die "weg" in eine Spalte schreibt (hier Spalte 10, also J), wenn die betreffende Zeile auszublenden ist. Wenn du eine andere Spalte magst, ändere die 10 in Cells (i, 10).

Mit Alt & F11 kommst du in den VBA-Editor.
Doppelklick auf die Tabelle, die du bearbeiten möchtest.
Wähle oben "Worksheet" und "Activate" aus. Das bedeutet, dass das Makro jedes Mal startet, wenn du auf diese Tabelle wechselst, Du könntest auch SelectionChange einstellen, dann läuft es bei jedem Sprung in eine andere Zelle, das könnte bei einer rechenintensiven Tabelle aber zu mühsamen Wartezeiten führen.

Hier die 3 Programmzeilen für Copy&Paste zwischen Private Sub und End Sub:

For i = 1 To 1000 ' nimm hier die maximal erwartete Zeilenanzahl
    If Cells(i, 10) = "weg" Then Rows(i).Hidden = True Else Rows(i).Hidden = False
Next i

Das wars

0