Microsoft Excel

Herbers Excel/VBA-Archiv

Zeile ausblenden,wenn sichtbare Spalten ohne Wert


Betrifft: Zeile ausblenden,wenn sichtbare Spalten ohne Wert von: Michael R.
Geschrieben am: 29.08.2016 10:57:25

Guten Tag,

ich bin neu hier und habe leider bei der Suche keine passende Lösung gefunden.

Ich habe eine Tabelle die von A3:G300 Stammdaten enthält, und I3:ZZ300 diverse "x" Einträge (Berechtigungsmatrix).

Was ich möchte als Beispiel:

Ich habe in einem vorherigen Schritt bestimmte Spalten in der Range I1:ZZ300 ausgeblendet.

Nun möchte ich prüfen, ob z.B in der 10. Zeile ab I10:ZZ10 sich nurnoch leere Zellen in den sichtbaren Spalten befinden, wenn ja, soll die ganze Zeile ausgeblendet werden.
als Beispiel2: Ich habe nurnoch an Spalten I und M eingeblendet. Wenn kein x in den Zellen I10 und M10 steht, soll die ganze Zeile ausgeblendet werden.

Ich möchte euch hier mal mein Lösungsansatz für die entgegengesetzte Richtung präsentieren, dort werden alle Spalten ausgeblendet, wenn keine Berechtigungen gesetzt sind.

  • 
    Sub nur_berechtigte_Gruppen_eines_users_anzeigen()
    
        Dim n As Long, i As Long, wf As WorksheetFunction
        Set wf = Application.WorksheetFunction
        n = Cells(1, Columns.Count).End(xlToLeft).Column
        For i = 9 To n
            Set rnData = Cells(1, i).EntireColumn.SpecialCells(xlCellTypeVisible)
            If wf.CountA(rnData) < 5 Then
                Cells(1, i).EntireColumn.Hidden = True
            End If
    
    End Sub

    Next i


  • Dieses Sub wird nicht vorher ausgeführt, ich hoffe es hilft einfach als Gedankenanstoß. Ich bin damit überfordert :P

    Liebe Grüße,
    Michael

      

    Betrifft: AW: Zeile ausblenden,wenn sichtbare Spalten ohne Wert von: ChrisL
    Geschrieben am: 29.08.2016 15:07:22

    Hi Michael

    Sub t()
    Dim iZeile As Long, rng As Range
    
    For iZeile = 2 To Cells(Rows.Count, 1).End(xlUp).Row  ' Zahl 1 = Spalte A
        If Not Rows(iZeile).EntireRow.Hidden Then
            Set rng = Range(Cells(iZeile, 9), Cells(iZeile, 702)).SpecialCells(xlCellTypeVisible)
            If WorksheetFunction.CountA(rng) = 0 Then
                Rows(iZeile).EntireRow.Hidden = True
            Else
                Rows(iZeile).EntireRow.Hidden = False
            End If
        End If
    Next iZeile
    End Sub

    Die letzte Zeile wird anhand von Spalte A ermittelt.

    cu
    Chris


      

    Betrifft: AW: Zeile ausblenden,wenn sichtbare Spalten ohne Wert von: Michael R.
    Geschrieben am: 30.08.2016 08:01:03

    Super ! vielen Dank.
    Klappt ohne Probleme


    Beiträge aus den Excel-Beispielen zum Thema "Zeile ausblenden,wenn sichtbare Spalten ohne Wert"