In der Spalte nach unten blättern, bis die Zelle leer ist

In der Spalte nach unten blättern, bis die Zelle leer ist

Die folgende Formel funktioniert gutWennIch definiere jede Zelle (immer wieder), aber ich brauche eine Schleife, die über Hunderte von Zeilen die Spalten A und B durchläuft. Ich habe es versucht, aber es gelingt mir einfach nicht, eine Schleife zu schreiben, die läuft und stoppt, wenn sie unten auf eine leere Zelle trifft. Dies muss auf mehreren Tabellenblättern mit unterschiedlichen Registerkartennamen lauffähig sein.

Beispiel dessen, was jetzt funktioniert: [Ich möchte eine Formel haben, die eine Schleife durchläuft] Ich habe dies derzeit auf 100 Zeilen ausgeschrieben, da ich keine Schleife zum Laufen bekomme. :-(

Sub Hidelines()

If Range("A1").Value = "No" Then
    Rows("1:1").EntireRow.Hidden = True
ElseIf Range("B1").Value = "NEVER" Then
    Rows("1:1").EntireRow.Hidden = True
    End If

If Range("A2").Value = "No" Then
    Rows("2:2").EntireRow.Hidden = True
ElseIf Range("B2").Value = "NEVER" Then
    Rows("2:2").EntireRow.Hidden = True
    End If

If Range("A3").Value = "No" Then
Range("E3").Select
    Rows("3:3").EntireRow.Hidden = True
ElseIf Range("B3").Value = "NEVER" Then
    Rows("3:3").EntireRow.Hidden = True
    End If

End Sub

Antwort1

Sub HideRows()
Dim RowCount: RowCount = 1   ' Row you wish to start from
Dim ColIndex: ColIndex = 1   ' Column to look within (A = 1) - Never will be in ColIndex + 1

Do
    If (LCase(Cells(RowCount, ColIndex).Value) = "no") Then
        Cells(RowCount, ColIndex).EntireRow.Hidden = True
    ElseIf (LCase(Cells(RowCount, ColIndex + 1).Value) = "never") Then
        Cells(RowCount, ColIndex).EntireRow.Hidden = True
    End If
    RowCount = RowCount + 1
Loop Until IsEmpty(Cells(RowCount, ColIndex).Value)

End Sub

Dies wird jede Zeile nach unten durchsucht, bis eine leere Zelle in Spalte eintritt ColIndex. Dabei wird ohne Berücksichtigung der Groß-/Kleinschreibung in derselben Spalte nachgesehen Nooder in der Spalte rechts davon nach Never, und die Zeile wird in diesem Fall ausgeblendet.

verwandte Informationen