Ocultar Filas con Macro
Este es el asunto; Tengo una hoja con muchos valores desde la columna B hasta la AA; en la columna B tengo una lista de valores desde la fila 11 hasta la 450, dichos valores provienen de otra hoja, es decir, son puras fórmulas "=hoja2!b11" y así por el estilo; muchas de esas fórmulas dan como resultado cero, y lo que necesito es una macro que me oculte todas las filas en las que la celda ubicada en la columna B de como resultado 0, a mí se me había ocurrido el siguiente código:
Sub ocultar()
With Sheets("Hoja1")
Range("b11").Select
Dim OcultaFila As Integer
OcultaFila = 11
Do While OcultaFila < 450
If .Range(.Columns(b), .Rows(OcultaFila)) = 0 Then
.Rows(OcultaFila).Hidden = True
Exit Do
End If
OcultaFila = OcultaFila + 1
Loop
End With
End Sub
No me sirvió para un carajo entre otras cosas porque en "If .Range(.Columns(b), .Rows(OcultaFila)) = 0 Then" me saca un error 1004, "¿definido por la aplicación u objeto"? ; Con valores sencillos me oculta así:
If Range("b22") = 0 Then
.Rows(22).Hidden = True
End If
Pero lo que necesito es que la macro recorra todo el rango desde la 11 hasta la 450 y oculte, espero que me entiendan esta extensa pregunta y me puedan ayudar
Sub ocultar()
With Sheets("Hoja1")
Range("b11").Select
Dim OcultaFila As Integer
OcultaFila = 11
Do While OcultaFila < 450
If .Range(.Columns(b), .Rows(OcultaFila)) = 0 Then
.Rows(OcultaFila).Hidden = True
Exit Do
End If
OcultaFila = OcultaFila + 1
Loop
End With
End Sub
No me sirvió para un carajo entre otras cosas porque en "If .Range(.Columns(b), .Rows(OcultaFila)) = 0 Then" me saca un error 1004, "¿definido por la aplicación u objeto"? ; Con valores sencillos me oculta así:
If Range("b22") = 0 Then
.Rows(22).Hidden = True
End If
Pero lo que necesito es que la macro recorra todo el rango desde la 11 hasta la 450 y oculte, espero que me entiendan esta extensa pregunta y me puedan ayudar
1 respuesta
Respuesta de villaju
1
yo quiero hacer algo parecido, en mi archivo tengo cinco columnas y varias filas lo que deseo es que las filas de las columnas 4 y 5 se oculten si su valor es igual a cero, y si es mayor a cero pues que queden visibles, me gustaría que fuera automático (es decir que cada vez que una celda de una fila este con valor cero se oculte sin necesidad de ejecutar la macro) o ya sea a través de un botón - Consultas Consultas