Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen ausblenden Bedingt von 2 Spalten

Zeilen ausblenden Bedingt von 2 Spalten
24.04.2023 16:01:17
Dan80

Ich habe den Folgenden Code um auf einem Excel Blatt alle Zeilen auszublenden die in der angegebenen Range leer sind. Jetzt möchte ich gerne in einem zweiten Schritt (oder gleich in einem) auf Basis einer Zweiten Spalte ("D") die Zeilen zusätzlich ausblenden welche in der Spalte D eine leere Zelle haben. Ich stehe hier total auf dem Schlauch... Könntet Ihr mir bitte auf die Sprünge helfen?


Private Sub Zeilen_ein_ausblenden_Click()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    Static s As Integer


    Dim objRow As Range

    If s = 0 Then
        For Each objRow In Range("B12:B181").Rows
            objRow.Hidden = (WorksheetFunction.CountIf(objRow, 0) + WorksheetFunction.CountBlank(objRow)) = objRow.Cells.Count
        Next
        s = 1
        For Each objRow In Range("B183:B312").Rows
            objRow.Hidden = (WorksheetFunction.CountIf(objRow, 0) + WorksheetFunction.CountBlank(objRow)) = objRow.Cells.Count
        Next
        s = 1
    Else
        For Each objRow In ActiveSheet.UsedRange.Rows
        If objRow.Hidden = True Then objRow.Hidden = False
        Next
        s = 0
    End If
    

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
End Sub


Vielen Dank und Grüße

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden Bedingt von 2 Spalten
24.04.2023 17:01:26
Rudi Maintaire
Hallo,
alle Zeilen auszublenden die in der angegebenen Range leer sind.
Das stimmt so nicht. Du blendest alle Zeilen aus, in denen eine 0 vorkommt oder die komplett leer sind.

    Dim objCell As Range

    If s = 0 Then
        For Each objCell In Range("B12:B181")
            objCell.EntireRow.Hidden = objCell = "" Or objCell.Offset(, 2) = ""
        Next
        For Each objCell In Range("B183:B312")
            objCell.EntireRow.Hidden = objCell = "" Or objCell.Offset(, 2) = ""
        Next
        s = 1
    Else
        ActiveSheet.UsedRange.Rows.Hidden = False
        s = 0
    End If
Gruß
Rudi


Anzeige
AW: Zeilen ausblenden Bedingt von 2 Spalten
24.04.2023 17:51:16
GerdL
Hallo Dan,

falls du keine Formeln hast, die "" zurückgeben.
Sub Unit()
    
    Dim C As Range
    
    With Range("B12:B181,B183:B312")
        .EntireRow.Hidden = False
        For Each C In .Cells
            C.EntireRow .Hidden = (C.Value * C.Offset(0, 2).Value = 0)
        Next
    End With

End Sub
Wofür soll s dienen?

Gruß Gerd


AW: Zeilen ausblenden Bedingt von 2 Spalten
28.04.2023 15:06:22
Dan80
Hallo Gerd,

erst einmal danke für die Antwort, ich möchte Zeilen ausblenden welche in einer Bilanzdarstellung nicht genutzt werden, Sie aber wieder einblenden können wenn ich selber daran arbeite.
Das Makro so wie es ist habe ich auf einen Button gelegt um die Zeilen ein-/auszublenden.
Auf einem Blatt möchte ich das aber auf Basis von zwei Spalten machen.

Also wenn Zelle 1...n in Spalte B leer oder 0 ist blende diese Zeile aus und blende zusätzlich alle Zeilen aus bei denen in der gleichen Range die Zelle D 1...n leer oder 0 ist.

Also das gleiche Makro so wie ich es schon habe nur soll er auch alle Zeilen ausblenden die in der zweiten Spalte leer oder 0 sind.

Vielen Dank

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige