Mostrar una fila usando una macro basada en el valor de la celda (para 10000 filas)


0

Soy muy nuevo en macro. Sin embargo, encontré una macro en este sitio web para ocultar filas con el valor False. Edité la macro para que también volviera a mostrar la fila, y funcionó bien. El problema es que quiero que funcione para muchas filas, así que lo hago de A1 a A10000. Cuando lo oculto funciona bien, pero cuando lo oculto, el software Excel dejará de funcionar (uso mac). ¿Entonces qué debo hacer?

Sub HiddeA()
Dim A As Range
Set A = Range("A1:A10000")
A.EntireRow.Hidden = False
For i = 1 To 10000
    If Cells(i, 1).Value <> "" And Cells(i, 1).Value = False Then
        Cells(i, 1).EntireRow.Hidden = True
    End If
Next i
End Sub


Sub ShowA()
Dim A As Range
Set A = Range("A1:A10000")
A.EntireRow.Hidden = True
For i = 1 To 10000
    If Cells(i, 1).Value <> Cells(i, 1).Value = False Then
        Cells(i, 1).EntireRow.Hidden = False
    End If
Next i
End Sub

Debería usar for i = 10000 to 1 step -1)solo como buena referencia si desea eliminar algo.
— Raystafarian

Respuestas:


1

Sub ShowA()debería ser así:

Sub ShowA()
For i = 1 To 10000
    If Cells(i, 1).Value <> "" And Cells(i, 1).Value = False Then
        Cells(i, 1).EntireRow.Hidden = False
    End If
Next i
End Sub

No necesita emitir la línea A.EntireRow.Hidden = Trueporque oculta cada fila.

Además, olvidó las dobles comillas y andla línea

If Cells(i, 1).Value <> Cells(i, 1).Value = False Then


¿Por qué hay necesidad de verificar si está vacío? Si no está FALSEvacío, ¿verdad?
— Raystafarian

Una cosa más, también estoy tratando de hacer la columna B, cambié todas las A por B, pero no funcionó. ¿Puedes dar el código correcto?
— ahmed mb

Más aclaraciones: cuando esté el valor FALSO en una celda de la columna B, quiero que la macro oculte la fila
— ahmed mb

Para verificar el Falso en la columna B, cambie Cells(i, 1)aCells(i, 2)
— jcbermu
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.