Zeile verschwinden lassen

hallo,

ich suche eine möglichkeit, eine ganze zeile verbergen zu lassen, wenn in einer bestimmten zelle der zu verbergenden zeile der Wert 0 steht. in dieser zelle ist aber bereits eine funktion (wenn-formel) vorhanden.

hat jemand einen tipp?

tausend dank, shopgirl

Hi shopgirl,

wenn die Zeile wirklich „verschwinden“ oder ausgeblendet werden soll, hilft nur ein Makro.

Vielleicht willst Du aber nur, dass da keine Null steht, sondern nichts. Das geht, und da macht es auch nichts, wenn es in der Zelle schon eine Wenn-Verknüpfung gibt.

Ich denke mir mal irgendeine Wenn-Formel aus, die schon in der Zelle steht, z.B. @wenn(a2>a3;a2;a3). Du kannst jetzt ein zweites „Wenn als Formatierung drumrumbauen:
@WENN(@WENN(A2>A3;A2;A3)=0;“";@WENN(A2>A3;A2;A3))
Auf deutsch : es wird geprüft, ob das Ergebnis der Prüfung
@wenn(a2>a3;a2;a3) Null ist. Wenn ja, wird ein Leerzeichen ausgegeben, sonst das Ergebnis.

Hoffe, ich habe Dir helfen können

Gruss Hans-Jürgen
***

vielen dank für die antwort…

aber ich wollte wirklich die ganze zeile verschwinden lassen…

kannst mir mit einem makro weiterhelfen?

shopgirl

Hallo Shopgirl,

wenn es nur darum geht, die entsprechenden Zeilen optisch auszublenden, würde ich die Filterfunktion verwenden (Daten, Filter, Autofilter) und dann als Benutzerdefiniertes Kriterium „entspricht nicht“ und als Wert 0 eintragen.

Dann werden nur die Zeilen angezeigt, in denen die entsprechende Zelle keine Null enthält.

Grüße
Sebastian

hallo sebastian,

vielleicht hilft ja eine kurze erläuterung meiner tabelle:

ich habe ein datei A. in dieser datei sind lieferant, rechnungsbetrag und eine kürzel für den lieferanten. in einer zweiten datei habe ich dann für jeden lieferanten (muß eine zweite datei sein) ein tabellenblatt angelegt und jeweils mit einer wenn-funktion ihm gesagt, dass er hier nur den rechnungsbetrag ausgeben soll, wenn das kürzel mit dem lieferanten übereinstimmt. soweit so gut.

jedoch ist auf dem tabellenblatt des lieferanten ja nun auch noch die zuordnung der „falschen“ kürzel enthalten und zwar mit Wert 0. und diese Zeilen möchte ich verborgen haben, weil sie nur platz wegnehmen und das datenblatt dann riesig wird.

der autofilter muß ja immer neu eingestellt werden, sobald eine neuer wert in der ausgangsdatei hinzukommt. ich bräuchte eine automatik sozusagen.

das ist so kompliziert, dass ich selbst fast nicht mehr durchsteige. aber wenigstens weiß ich was ich am ende haben möchte. *lach*

HILFE
aber trotzdem vielen dank für den tip.
shopgirl

Hallo Shopgirl,

ich habe ein datei A. in dieser datei sind lieferant,
rechnungsbetrag und eine kürzel für den lieferanten. in einer
zweiten datei habe ich dann für jeden lieferanten (muß eine
zweite datei sein) ein tabellenblatt angelegt und jeweils mit
einer wenn-funktion ihm gesagt, dass er hier nur den
rechnungsbetrag ausgeben soll, wenn das kürzel mit dem
lieferanten übereinstimmt. soweit so gut.

Wie kommen denn die Daten von Datei A in die zweite Datei mit je einem Blatt pro Lieferant?

jedoch ist auf dem tabellenblatt des lieferanten ja nun auch
noch die zuordnung der „falschen“ kürzel enthalten und zwar
mit Wert 0. und diese Zeilen möchte ich verborgen haben, weil
sie nur platz wegnehmen und das datenblatt dann riesig wird.

Heißt das, dass auf jedem Blatt für jeden Lieferanten alle Daten aller Lieferanten enthalten sind und Du jetzt auf jedem Blatt nur die Daten des jeweiligen Lieferanten anzeigen willst?

Das heißt doch auch, dass Du bei n Lieferanten alle Daten n mal gespeichert hast. Da wird die Datei mit der Zeit riesig, auch wenn die überflüssigen Daten ausgeblendet und nicht zu sehen sind.

Irgendwie hab ich’s noch nicht ganz verstanden.

Wenn Du magst, kannst Du mir die zwei Dateien per Mail schicken, dann schaue ich mir das mal an, vielleicht findet sich eine elegante Lösung.

… aber wenigstens weiß ich was ich am ende haben
möchte. *lach*

Das ist schon besser als nix …

Grüße
Sebastian

Hallo Shopgirl,

ich habe ein datei A. in dieser datei sind lieferant,
rechnungsbetrag und eine kürzel für den lieferanten. in einer
zweiten datei habe ich dann für jeden lieferanten (muß eine
zweite datei sein) ein tabellenblatt angelegt und jeweils mit
einer wenn-funktion ihm gesagt, dass er hier nur den
rechnungsbetrag ausgeben soll, wenn das kürzel mit dem
lieferanten übereinstimmt. soweit so gut.

Wie kommen denn die Daten von Datei A in die zweite Datei mit
je einem Blatt pro Lieferant?

per wenn formel (wenn kürzel mit kürzel in formel übereinstimmt, dann rechnungsbetrag in zelle eintragen, sonst wert 0).

jedoch ist auf dem tabellenblatt des lieferanten ja nun auch
noch die zuordnung der „falschen“ kürzel enthalten und zwar
mit Wert 0. und diese Zeilen möchte ich verborgen haben, weil
sie nur platz wegnehmen und das datenblatt dann riesig wird.

Heißt das, dass auf jedem Blatt für jeden Lieferanten
alle Daten aller Lieferanten enthalten sind und
Du jetzt auf jedem Blatt nur die Daten des jeweiligen
Lieferanten anzeigen willst?

GENAU

Das heißt doch auch, dass Du bei n Lieferanten alle Daten n
mal gespeichert hast. Da wird die Datei mit der Zeit riesig,
auch wenn die überflüssigen Daten ausgeblendet und nicht zu
sehen sind.

stimmt, dass habe ich noch gar nicht bedacht… mist…

Irgendwie hab ich’s noch nicht ganz verstanden.

doch hast du!!!

Wenn Du magst, kannst Du mir die zwei Dateien per Mail
schicken, dann schaue ich mir das mal an, vielleicht findet
sich eine elegante Lösung.

gerne… mache ich heute nach der arbeit…

… aber wenigstens weiß ich was ich am ende haben
möchte. *lach*

Das ist schon besser als nix …

EBEND

verschlafene grüsse shopgirl

Hallo shopgirl,
hier ne kurze VBA-Anweisung.
Wenn in der Zelle der Wert „0“ steht, wird sie ausgeblendet. Und das jedesmal, wenn das Tabellenblatt aktiviert wird. (Eventuell ändern)
Meine Sub bezieht sich auf die Spalte 1, mußt Du wahrscheinlich noch anpassen.

Private Sub Worksheet_Activate()
Dim LaufendeZeile

'diese For-Schleife fängt oben an und geht bis zur letzten, gefüllten Zelle in der Spalte 1
For LaufendeZeile = 1 To ActiveSheet.Cells(Rows.Count, 1 ).End(xlUp).Row '(evtl. anpassen, zielt auf Spalte 1)

DoEvents 'damit irrtümliche Endlosschleifen unterbrochen werden können
If Cells(LaufendeZeile, 1 ) = 0 Then 'Wenn „0“ drinsteht… (evtl. anpassen, zielt auf Spalte 1)
Rows(LaufendeZeile).Hidden = True '…wird die Zeile ausgeblendet
End If
Next
End Sub

kopiere das im VB-Editor in das betreffende Tabellenblatt

Grüße, ich

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Und um alle sichtbar zu machen:
Private Sub einblenden()
Dim x
For x = 1 To ActiveSheet.Cells(Rows.Count, 1 ).End(xlUp).Row
If Rows(x).Hidden = True Then Rows(x).Hidden = False
'die fett gedruckte " 1" muß eventl. angepasst werden.
Next
End Sub

Nochmals Grüße, ich

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

vielen dank… werde es gleich mal testen…

shopgirl

ich suche eine möglichkeit, eine ganze zeile verbergen zu
lassen, wenn in einer bestimmten zelle der zu verbergenden
zeile der Wert 0 steht. in dieser zelle ist aber bereits eine
funktion (wenn-formel) vorhanden.

Hi Vornamenlose,
taucht in deiner Datei A, der jeweilige Lieferant mit rechnungsbetrag und Kürzel nur einmal auf, oder stehht er mehrmals drinnen mit verschiedenen Rechnungsbeträgen?
Und sehe ich es richtig, dass dann in der zweiten datei jeweils pro Lieferant ein Tabellemblatt existiert, dass nur eine zeile enthält/anzeigen soll, und zwar dann wenn ein Rechnungsbetrag > 0 da ist?
Gruß
Reinhard

ich suche eine möglichkeit, eine ganze zeile verbergen zu
lassen, wenn in einer bestimmten zelle der zu verbergenden
zeile der Wert 0 steht. in dieser zelle ist aber bereits eine
funktion (wenn-formel) vorhanden.

Hi Vornamenlose,
taucht in deiner Datei A, der jeweilige Lieferant mit
rechnungsbetrag und Kürzel nur einmal auf, oder stehht er
mehrmals drinnen mit verschiedenen Rechnungsbeträgen?
Und sehe ich es richtig, dass dann in der zweiten datei
jeweils pro Lieferant ein Tabellemblatt existiert, dass nur
eine zeile enthält/anzeigen soll, und zwar dann wenn ein
Rechnungsbetrag > 0 da ist?

ja genau so soll es. es soll alle beträge des einzelnen lieferanten (rechnung) enthalten. meine wenn-formel klappt auch irgendwie nicht

shopgirl

Gruß
Reinhard

Dann poste doch mal bitte deine Wenn-Fktn…

ja genau so soll es. es soll alle beträge des einzelnen
lieferanten (rechnung) enthalten. meine wenn-formel klappt
auch irgendwie nicht

Hi shopgirl,
… denn dann sehe ich auch gleich in welchen zellen deine daten in tab1 stehen.
Gruß
Reinhard