Zeilen ausblenden bei bestimmten Wert

Hallo Miteinander,

Ich habe ein kleines Problem:

Ich habe eine Liste mit verschiedenen Firmen. Wir geben Rechnungen an dieses Kunden hinaus. Diese Erfassen wir.
Damit wir die Kontrolle haben, werden alle Firmen in einer anderen Tabelle aufgeführt und in einer zweiten Spalte die Summen aller Rechnungen aufgelistet. Jedoch werden nicht jeden Monat jeder Firma eine Rechnung geschickt.
Also kurz gesagt: ich möchte, dass Excel die zweite Spalte (die Summe) prüft, ob SFr. 0.00 drin steht und wenn ja, soll diese Zeile ausgeblendet werden, damit wir nicht unnötigen Müll ausdrucken.

War das verständlich ausgedrückt? is e bisle früh am morgä…
Danke für eure Hilfe!!! :smile:
Priska

hi,

Also kurz gesagt: ich möchte, dass Excel die zweite Spalte
(die Summe) prüft, ob SFr. 0.00 drin steht und wenn ja, soll
diese Zeile ausgeblendet werden, damit wir nicht unnötigen
Müll ausdrucken.

probiers mit einem makro etwa der folgenden art:

Sub del_0()
Columns(„A:B“).Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:=„0“, Operator:=xlAnd
End Sub

… und binde dieses makro an einen button. evtl. musst du bei den spalten noch die richtigen spaltenbezeichnungen einsetzen.

(oder, wenn du wenig erfahrung mit visualbasic hast: wähl unter „Extras“ den befehl „Macro“ und nimm das macro einfach auf. sozusagen: „tu es“. du markierst die spalten, um die es geht. du wählst den autofilter aus - menü „Daten“; du wählst „Benutzerdefiniert“ aus den kriterien des autofilters und wählst dor „ungleich 0“ aus.)

mach dir dann am besten noch einen button, um wieder alles anzuzeigen (befehl „Alles anzeigen“ im menü „Daten“.)

hth
m.

versuch mal folgenden Makrocode - an einen Button anbinden und die Veriablen auf Dich anpassen…

Sub zeilenmitwertausblenden()
Dim loop1, looprepeats As Integer
Dim yourvalue As String

startcell = "A1" ' Zelle, in der die Suche gestartet werden soll
yourvalue = "Sfr 0,00" ' Suchstring
looprepeats = 100 ' Anzahl der Zeilen, die geprüft werden sollen

For loop1 = 0 To 100
 test = Range(startcell).Offset(loop1, 0).Value
 If test = yourvalue Then
 Range(startcell).Offset(loop1, 0).EntireRow.Hidden = True
 End If

Next loop1
End Sub

Hallo Priska,

vielleicht gehts auch ohne Macro!
In der (auszublendenen) Zelle steht ja so etwas wie =Summe(A5:A9).
Statt dessen schreibst du =Wenn(Summe(A5:A9)=0;"";Summe(A5:A9))
In dem Fall würde statt SFR 0.00 gar nichts stehen.

Weiter Möglichkeit: Benutzerdefinierte Formate. Hier kannst du für jede Zelle vorgeben, wie ein positiver Wert, ein negativer Wert, ein NULL-Wert und Text aussehen soll. Da kann man auch festlegen, das NULL-Werte nicht angezeigt werden sollen.

Vielleicht hilfts…

Gruß, Draufi

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

Hallo Priska,

vielleicht gehts auch ohne Macro!

Ja, einfach und leicht verständlich, aber:
Die leeren Zellen werden einfach „versteckt“, aber der Ausdruck benötigt gleichwohl eine Zeile mehr. Das ist bei einer Makrolösung einfacher, da die Zeilen ausgeblendet werden.
Erich

OT Variabendeklaration
Hi mUnich.
nach
Dim loop1, looprepeats As Integer
Dim yourvalue As String

hat loop1 den Variablentype „variant“
wenn loop1 den VariablenTyp "Interger haben soll, musst du es so machen:

Dim loop1 as Integer, looprepeats As Integer
Dim yourvalue As String

Gruß
Rinhard

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