556 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo ich benötige auch mal Hilfe beim VBA,

ich möchte gern in einer Liste die jeweiligen Zeilen ausblenden, wenn in der Zelle F UND G der jeweiligen Zeile der Wert 0 (wird als Formel aus einem anderem Arbitsblatt geholt) steht.

Bsp.
In Zelle F12 und G12 steht jeweils der Wert 0, d.h. die Zeile wird ausgeblendet. Wenn der Wert einer der beiden Zellen größer ist als 0, soll die Zeile eingeblendet bleiben.

Wer kann mir hefen.

Achso nutze Excel 2003

3 Antworten

0 Punkte
Beantwortet von
Hallo fresh,

als Makro könnte das z.B. so aussehen

Sub NullZeilenAusblenden()

For Each r In Selection.Rows '(oder Range("F5:G40").Rows)
If Application.Sum(r) = 0 Then
Rows(r.Row).Hidden = True
End If
Next r

End Sub


Tipp:
Im Normalfall brauchst du für sowas kein Makro, da das auch mit
einer Hilfsspalte geht, in der du =WENN(SUMME(F2:G2)<>0;"")
schreibst und dann runterziehst. Anschließend die Spalte markieren
und "Suchen & Auswählen" --> GeheZu --> Inhalte klicken (oder in
Excel 2000/2003 Bearbeiten --> GeheZu --> Inhalte). Dann bei
Formeln alle Haken außer Wahrheitswerte entfernen und OK
drücken. Nun werden die entsprechenden Zellen automatisch
markiert und du kannst die Zeilen auf bekanntem Weg (z.B. über
Symbol) ausblenden. Klingt vielleicht etwas kompliziert, ist aber total
einfach und geht im Alltag schneller als das Schreiben eines
Makros.

Gruß Mr. K.
0 Punkte
Beantwortet von
Ich gestehe, ich mache zwar sehr viel mit Excel, bin aber unfähig mit
diesen technischen Aussagen klar zu kommen. Also würde ich das
einfacher machen:

Die Liste braucht dafür eine Kopfzeile,
- die aktiviere ich,
- gehe rechts oben im Menü auf 'Sortieren und Filtern' und dann
Filtern.

Es setzen sich in die Kopfzeile die kleinen Pfeilchen-Zeichen ein.
Dann das 'V' in der entsprechenden Spalte anklicken und auf- oder
absteigend wählen. Somit stehen die 0 - Werte automatisch am
Anfang oder Ende der Liste.

Ich kopiere mir die entsprechenden Zeilen dann raus und setze sie
schnell in einen neuen Tab oder auch ein neues Blatt, z. B. wenn
ich die Daten versenden muss und der Empfänger die '0-er' nicht
sehen soll.

Sollte man die neue Liste nun wieder alphabetisch nach Kunden-
Namen oder PLZ brauchen, gleiches Verfahren und nach entspr.
Spalte sortieren.

Vielleicht auch eine Hilfe ??

LGs von Bärbel
0 Punkte
Beantwortet von
Hallo nochmal vielen Dank für die Hilfe.

Habe mir abschließend noch ein Makro aufgenommen, um das mit dem Filtern der entsprechenden Register mit einen Klick zu erledigen.

Jetzt hab ich aber ein neues Problem.

Und zwar möchte ich die 5 Register jetzt gern als PDF drucken.
Jedes Register als eigene PDF, mit dem Registernamen sowie dem aktuellen Datum als Dateinamen. Speicherort sollte der Ort sei, wo die Originaldatei liegt.

Ich habs wieder mit dem Aufzeichnen versucht. aber da fragt mich Excel immer nach Dateinamen und das würde ich gern überspringen.

Application.ActivePrinter = "PDF-XChange Printer Lite 2012 auf PXC5L"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDF-XChange Printer Lite 2012 auf PXC5L", Collate:=True
Sheets("Abholer").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Selbstpacker").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Großhandel").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Fachhandel").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True


Schon mal Danke für eure Hilfe
...