Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ganze Zeile ausblenden, wenn Zellwert Falsch ist

ganze Zeile ausblenden, wenn Zellwert Falsch ist
13.06.2019 14:00:46
Rina
Hallo liebe Forumsmitglieder,
und zwar funktioniert mein Code nur manchmal. Leider finde ich meinen Fehler nicht habe auch schon mehrere Versionen getestet.
Der Zellwert ist an eine Checkbox in einem Listenfeld geknüpft(funktioniert).
Heißt in der Zelle steht entweder Wahr oder FALSCH. (Tabelle2)
In der Tabelle1 sollen jetzt die Zeilen ausgeblendet werden wenn der zugeordnete Zellwert aus Tabelle2 Falsch ist.
Tabelle1 besteht aus verschiedenen Blöcken und je nach Wahrheitswert sollen die Blöcke sichtbar sein oder nicht.
Zwischen den Zeilen gibt es Leerzeilen die durch eine Oder-Funktion in Abhängigkeit der darunterliegenden Zeilen Ebenfalls Wahr oder Falsch sind.
(Blöcke werden komplett ausgeblendet)
Die Beispiel Datei geht bis Zeile 45.
Ich will den Code aber bis mindestens zur Zeile 166 ausführen können.
Manchmal klappt der Code und manchmal eben nicht.
Code:
Set WS = Worksheets("Tabelle1")
LastRow = WS.Cells(Rows.Count, 4).End(xlUp).Row
With WS
For i = 5 To 166 'LastRow-1
' Falls Wert in Zeile Falsch wird Zeile versteckt!
If .Cells(i, 4).Value = False Then
.Rows(i).Hidden = True
' Exit Sub
Else
Rows(i).Hidden = False
End If
Next i
End With
Alternative Codes: mit For Each
Dim c As Range
For Each c In WS.Range("D5:D45")
If c.Value = False Then
c.EntireRow.Hidden = True
Else
c.EntireRow.Hidden = False
End If
Next
mit Do Loop Until
i = 5
Do
Falls Wert in Zeile Falsch wird Zeile versteckt!
If .Cells(i, 4).Value = False Then
.Rows(i).Hidden = True
Exit Sub
Else
Rows(i).Hidden = False
End If
i = i + 1
Loop Until i = LastRow
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ganze Zeile ausblenden, wenn Zellwert Falsch ist
13.06.2019 15:05:48
Torsten
Hallo Rina,
und wo ist die Beispieldatei?
AW: ganze Zeile ausblenden, wenn Zellwert Falsch ist
13.06.2019 17:17:13
Daniel
Hi
warum nicht einfach Autofilter verwenden?
ansonsten auch so:
hier für kleinere Tabellen (ist aber langsam)
dim Zelle as Range
for Each Zelle in Columns(4).SpecialCells(xlcelltypeformulas, 4)
Zelle.EntireRow.Hidden = Not Zelle.Value
Next 
hier etwas aufwendiger, dafür aber schneller weil die Zeilen nicht einzeln, sondern gemeinsam in einem Schritt ausgeblendet werden:
dim Zelle as Range
dim Ausblenden as Range
Rows.Hidden = false
for each Zelle in Columns(4).SpecialCells(xlcelltypeformulas, 4)
if not Zelle.Value then
if Ausblenden is Nothing then
set Ausblenden = Zelle
else
set Ausblenden = Union(Ausblenden, Zelle)
end if
end if
Next
if Not Ausblenden is Nothing then Ausblenden.EntireRow.Hidden = True
das SpecialCells wählt hier alle Zellen mit Formel, welche einen Wahrheitswert als Ergebnis haben aus.
Gruß Daniel
Anzeige
AW: ganze Zeile ausblenden, wenn Zellwert Falsch ist
14.06.2019 11:07:00
Rina
Super Danke!
An den Autofilter hatte ich nicht gedacht :)
Die Lösung funktioniert einwandfrei ^^
Leider funktioniert der Code auch nur manchmal. Irgendwie überspringt der Code weiterhin manche Zellen und das aber nicht immer.
AW: ganze Zeile ausblenden, wenn Zellwert Falsch ist
13.06.2019 17:03:50
Rina
https://www.herber.de/bbs/user/130369.xlsx
Das Makro blendet nicht alle Zeilen aus!
Vereinzelt bleiben einige Zeilen eingeblendet, als ob sie geprüften Zellen übersprungen werden.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige