justlukas
Goto Top

Wenn Zelle leer, dann Zeilen ausblenden

Office 2010

Hallo liebe Community,

ich würde gerne folgendes realisieren:

In Spalte A befinden siche alle 30 Tage eines Monats; Also 30 Zeilen mit 01.01.2012, 02.01.2012, etc.

In Spalte B werden Zahlen (Ausgaben an dem Tag) eingetragen. Also:


A B
1 01.01.2012 10,-
2 02.01.2012 20,-
3 03.01.2012
4 04.01.2012 30,-


Bei der Eingabe der Ausgaben vom 03.01.2012 wäre ich flexibel. Ob der Wert 0 oder "" ist, wäre egal.

Nun die Frage: Ist es möglich durch eine Formel o.Ä die Zeile 3 bei Eingabe von "0" oder "" in B3 auszublenden? Ich bin deshalb irritiert, da ich ja auch die Zelle mit ausblende, in der in gerade einen Eintrag vorgenommen habe.

Für den Fall, dass Formeln nicht ausreichen und jemand ein Makro dafür kennt, muss ich noch folgendes sagen:

Ich habe überhaupt gar keine Ahnung von Makros. Ich habe weder von deren Programmierung noch von deren Ausführung eine Ahnung. Also habt bitte Nachsicht face-smile

vorzüglichste Grüße

Content-ID: 186821

Url: https://administrator.de/contentid/186821

Ausgedruckt am: 05.11.2024 um 23:11 Uhr

Onitnarat
Onitnarat 21.06.2012 um 09:27:15 Uhr
Goto Top
Hallo,
versuche doch mal die Funktion "Filtern" in Excel.
Zu finden im Menü "Daten" unter Filter -> Auto-Filter.

Wenn Du nun in Zeile 1 auf den Pfeil in Spalte B klickst kannst Du auswählen welche Werte ausgeblendet werden sollen, also entweder "0" wenn Du es so eingegeben hast oder "Leere" wenn Du die Zellen leer gelassen hast.

Gruß
Marcus
justlukas
justlukas 21.06.2012 um 09:37:07 Uhr
Goto Top
Hallo Marcus,

danke für die schnelle Anwort. Bestünde auch die Möglichkeit das automatisch geschehen zulassen? Also man tippt in diesem vorgefertigten Dokument jeweils immer nur die beträge zack,zack ein, lässt sich die Summe berechnen und druckt es dann aus?

Aber genau das sollte passieren! Nochmals Danke für die Antwort face-smile

Gruß
Lukas
kristov
kristov 21.06.2012 um 09:58:08 Uhr
Goto Top
Hallo,
einfach nach dem Setzen des Filters die Beträge reinklopfen und dann unter "Sortieren und Filtern" auf "Erneut übernehmen" klicken.

PS:
Als Ergänzung: Du kannst, wenn Du wie von Onitnrat beschrieben, auf den Pfeil in Spalte B klickst auch den "Zahlenfilter" benutzen, und "ist größer als 0" eintragen. Mittels Zahlenfilter kann man also auch nach bestimmten Bereichen filtern.

kristov
Onitnarat
Onitnarat 21.06.2012 aktualisiert um 10:43:54 Uhr
Goto Top
Hallo Lukas,
automatisch geht das nicht mit Bordmitteln.

Was würde denn passieren, wenn man ausversehen eine 0 getippt hat und man in die nächste Zelle springt, dann würde der Automatismus die Zeile ja schon ausgeblendet haben und man muss umständlich wieder zurück.

Ich denke sowas ist wohl nur mit Makro möglich, aber da geht es mir ähnlich wie Dir... ;)

Ich habe das hier im Internet gefunden:
Option Explicit

Private Sub Worksheet_Activate()
    Dim rngBer As Range, rngC As Range
    Application.ScreenUpdating = False
    Set rngBer = Range("B2:B32")  
    For Each rngC In rngBer
        If rngC.Value = 0 Then
            Rows(rngC.Row).Hidden = True
        ElseIf rngC.Value <> 0 Then
            Rows(rngC.Row).Hidden = False
        End If
    Next
    Application.ScreenUpdating = True
End Sub
Einfach unten mit einem Rechtsklick auf das Tabellenblatt -> Code anzeigen und dort einfach reinkopieren
Da ich wahrlich kein VBA-Experte bin, hab ich es bisher nur geschafft, dass der Code ausgeführt wird, wenn Du unten zu Tabelle2 wechselst und wieder zurück.
Medusaman
Medusaman 21.06.2012 um 11:26:20 Uhr
Goto Top
Hallo justlukas,

ich hab dir mal einen kleinen Makro geschrieben.
In der For-Schleife musst du nur die Endzahl (100) auf deine Bedürfnisse anpassen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile As Integer
zeile = 1
For zeile = 1 To 100
    If Range("b" & zeile).Value = "0" Then  
        Rows(zeile).Hidden = True
            Else
    End If
Next zeile
End Sub

Ist aber leider so das durch eine Änderung in einer Zelle die Schleife immer wieder ausgeführt wird. Das nimmt Rechenzeit in anspruch.

MfG Medusaman