Hallo zusammen,
gibt es unter Excel 97 eine Möglichkeit, einen Bereich automatisch durchsuchen zu lassen und dann die Zeilen auszublenden, wenn eine bestimmte Zelle dieser Zeilen leer ist?
THX im voraus.
Hallo zusammen,
gibt es unter Excel 97 eine Möglichkeit, einen Bereich automatisch durchsuchen zu lassen und dann die Zeilen auszublenden, wenn eine bestimmte Zelle dieser Zeilen leer ist?
THX im voraus.
Hallo Alex,
die einfachste Methode ist die Autofilter-Funktion zu nutzen.
Markiere alle Spaltentitel in denen die leeren Zellen vorkommen. Dann Menü Daten–>Filter–>Autofilter
Jetzt wählst du für die Spalten, in denen du Zeilen mit Leerzellen ausblenden möchtest den Filterwert (nicht leere)
Falls du öffters für sehr viele Spalten die Filter setzen muß, dann solltest du ein entsprechendes Makro aufzeichnen.
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
VBA-Alternative: Wenn Zelle XY Leer dann…
Alternative mit Makro:
Sub LeereZellenAusblenden()
Dim Markierung As Range
' Blendet im markierten Bereich der Tabelle alle Zeilen aus in denen sich leere Zellen befinden
Set Markierung = Selection
' Set Markierung = ActiveSheet.Range("B6:H22") 'Alternative für vorgegebenen Bereich
For Each Zelle In Markierung
If IsEmpty(Zelle) Then Rows(Zelle.Row).Hidden = True
Next Zelle
End Sub
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Dim Markierung As Range
’ Blendet im markierten Bereich der Tabelle alle Zeilen aus
in denen sich leere Zellen befinden
Set Markierung = Selection
’ Set Markierung = ActiveSheet.Range(„B6:H22“) 'Alternative
für vorgegebenen Bereich
For Each Zelle In Markierung
If IsEmpty(Zelle) Then Rows(Zelle.Row).Hidden = True
Next Zelle
End Sub
Danke für die Antwort!
Nur leider wird bei mir immer nur eine Zelle ausgeblendet.
Bis jetzt habe ich das Marko folgendermaßen angepasst.
Zeile
’ Set Markierung = ActiveSheet.Range(„B6:H22“)
angepasst in
Set Markierung = ActiveSheet.Range(„B67:B76“)
Das Hochkomma habe ich also gelöscht, weil es doch sonst nur ein Kommentar ist, oder?
Muss man in der Zelle „If IsEmpty(Zelle)“ den Wert (Zelle) auch noch irgendwie anpassen?
THX im voraus.
Hallo Alex,
an der Änderung des Bereiches liegt es nicht.
Die IF-Bedingung fragt jedoch nur jene Zelle ab, die völlig leer sind, also z.B. auch keine Formeln enthalten.
Passe die If-Bedingung an, wenn du per Formeln „leere“ Zellen erzeugst.
If Zelle.Value = „“ Then Rows(Zelle.Row).Hidden = True
Dann sollte es funktionieren. Diese Bedingung erfasst auch völlig leere Zellen.
Prüfe bitte unter Optionen auch, ob die Nullwerte angezeigt werden. Zellen, die den Wert 0 haben werden natürlich bei dieser If Bedingung nicht ausgeblendet.
Falls du auch die Zellen mit Nullwerten ausblenden willst dann muß das Makro etwas anders aufgebaut werden
Sub LeereZellenAusblenden()
' Blendet im Bereich der Tabelle alle Zeilen aus in denen sich leere Zellen oder Nullwerte befinden
Dim Markierung As Range, Wert As String
Set Markierung = ActiveSheet.Range("C2:C15")
For Each Zelle In Markierung
Wert = Zelle.Value
If Wert = "" Or Wert = "0" Then Rows(Zelle.Row).Hidden = True
Next Zelle
End Sub
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Danke für die Antwort!
Nur leider wird bei mir immer nur eine Zelle ausgeblendet.
Zelle? Zeile wohl eher. Eine einzelne Zelle kann nicht ausgeblendet werden.
Bis jetzt habe ich das Marko folgendermaßen angepasst.
Zeile
’ Set Markierung = ActiveSheet.Range(„B6:H22“)
angepasst in
Set Markierung = ActiveSheet.Range(„B67:B76“)
Das Hochkomma habe ich also gelöscht, weil es doch sonst nur
ein Kommentar ist, oder?
ja, aber…
Set Markierung = Selection
ist der alternative Weg dazu.
Weg1: Bereich markieren und dann das Makro ausführen
Weg2: Bereich fix im Makro angeben. (was Du gemacht hast)
Muss man in der Zelle „If IsEmpty(Zelle)“ den Wert (Zelle)
auch noch irgendwie anpassen?
nein, weil
For Each Zelle In Markierung
hier Zelle in einer for each schleife belegt wird.
gibt es unter Excel 97 eine Möglichkeit, einen Bereich
automatisch durchsuchen zu lassen und dann die Zeilen
auszublenden, wenn eine bestimmte Zelle dieser Zeilen leer
ist?
Hi Alex,
mir ist unklar ob du die erhaltenen Antworten auch korrektumsetzen konntest, wenn nicht, probiers mal so:
sub tt()
for n=1 to range("E65536").end(xlup).row 'hier anstatt E die Spalte nehmen wo die zu prüfenden zellen stehen
if cells(n,5)="" then rows(n).hidden=true '5=5te Spalte=Spalte E
next n
end sub
Grß
Reinhard
Danke für deine Antwort!
Mit diesem Ansatz hat es geklappt!
LeereZellenAusblenden()
’ Blendet im Bereich der Tabelle alle Zeilen aus in denen sich
leere Zellen oder Nullwerte befinden
Dim Markierung As Range, Wert As String
Set Markierung = ActiveSheet.Range(„C2:C15“)
For Each Zelle In Markierung
Wert = Zelle.Value
If Wert = „“ Or Wert = „0“ Then Rows(Zelle.Row).Hidden= True
Next Zelle
End Sub
Jetzt habe ich noch eine Frage.
Nachdem die Zeilen ausgeblendet wurden, wollte ich sie testweise wieder einblenden (Zeilen markieren -> rechte Maustaste -> einblenden). Aber diese Zeilen erscheinen dann nicht mehr, ich muss erst immer den Autofilter bei diesen Zellen aktivieren und dann wieder deaktivieren, damit diese wieder eingeblendet werden.
Warum kann man die nicht einfach mit rechter Maustaste -> Menü einblenden?
THX im voraus.
Hallo Alex,
Jetzt habe ich noch eine Frage.
Nachdem die Zeilen ausgeblendet wurden, wollte ich sie
testweise wieder einblenden (Zeilen markieren -> rechte
Maustaste -> einblenden).
Das sollte eigentlich auch so funktionieren. Achte dabei darauf, dass du mindestens eine Zeile oberhalb und eine Zeile unterhalb der der ausgeblendeten Zeilen mit markierts. Ansonsten: Auch hierfür gibt es natürlich eine Makrolösung:
Sub AlleZeilenEinblenden()
' Blendet alle ausgeblendeten Zeilen in der Tabelle ein
Cells.Rows.Hidden = False
End Sub
Warum kann man die nicht einfach mit rechter Maustaste ->
Menü einblenden?
EXCEL braucht eine Markierung, um zu wissen mit welchen Zellen der nachfolgende Befehl ausgeführt werden soll.
Über die Menüs geht das Einblenden übrigen auch.
Gesamte Tabelle markieren (Feld links oben neben Spalte A anklicken) dann Menü Format --> Zeile --> einblenden.
Gruß
Franz