Recorrer la columna hasta la celda en blanco

Recorrer la columna hasta la celda en blanco

La siguiente fórmula funciona bien.siDefino cada celda (una y otra vez), pero necesito un bucle que recorra las columnas A y B durante cientos de filas. Lo he intentado y parece que no puedo escribir un bucle que se ejecute y se detenga cuando llegue a una celda vacía en la parte inferior. Esto debe poder ejecutarse en varias hojas de cálculo con diferentes nombres de pestañas.

Ejemplo de lo que funciona ahora: [Quiero tener una fórmula que se repita] Actualmente tengo esto escrito en 100 líneas, ya que no puedo hacer que un ciclo funcione. :-(

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

Respuesta1

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

Esto seguirá bajando por cada fila hasta llegar a una celda vacía en la columna ColIndex. Buscará sin distinguir entre mayúsculas y minúsculas la misma columna for Noo la columna a la derecha de for Nevery ocultará la fila si es así.

información relacionada