Ocultar y mostrar filas VBA excel
Resuelto
Elstat
Mensajes publicados
1
Estado
Miembro
-
eriiic Mensajes publicados 24581 Fecha de registro Estado Colaborador Última intervención -
eriiic Mensajes publicados 24581 Fecha de registro Estado Colaborador Última intervención -
Hola a todos
tengo en una página líneas que quiero ocultar si en la columna G a partir de la fila 34 está vacía y quiero ocultar las filas de la 36 a la 100.
ejemplo: si coloco un valor en la celda G35 quiero que las filas G37 a G100 se oculten y si quito el valor en la celda G35 quiero que las filas G36 a G100 se oculten.
Estoy buscando simplificar una lista de pedidos
If [G34] = "" Then Rows("36:100").EntireRow.Hidden = True
If [G35] = "" Then Rows("37:100").EntireRow.Hidden = True
If [G36] = "" Then Rows("38:100").EntireRow.Hidden = True
.
.
.
If [G98] = "" Then Rows("100:100").EntireRow.Hidden = True
Aquí está mi intento de código y gracias por su ayuda
Sub Ocultar()
Dim I As Long
I = 34
Do While I < 101
If Cells(I, 7) = "" Then Cells(I + 2, 100).EntireRow.Hidden = True
End If
I = I + 1
Loop
End Sub
tengo en una página líneas que quiero ocultar si en la columna G a partir de la fila 34 está vacía y quiero ocultar las filas de la 36 a la 100.
ejemplo: si coloco un valor en la celda G35 quiero que las filas G37 a G100 se oculten y si quito el valor en la celda G35 quiero que las filas G36 a G100 se oculten.
Estoy buscando simplificar una lista de pedidos
If [G34] = "" Then Rows("36:100").EntireRow.Hidden = True
If [G35] = "" Then Rows("37:100").EntireRow.Hidden = True
If [G36] = "" Then Rows("38:100").EntireRow.Hidden = True
.
.
.
If [G98] = "" Then Rows("100:100").EntireRow.Hidden = True
Aquí está mi intento de código y gracias por su ayuda
Sub Ocultar()
Dim I As Long
I = 34
Do While I < 101
If Cells(I, 7) = "" Then Cells(I + 2, 100).EntireRow.Hidden = True
End If
I = I + 1
Loop
End Sub
2 respuestas
-
Buenas tardes,
Intenta con esto.
Me basé en el texto:
ejemplo: si coloco un valor en la celda G35 quiero que las filas G37 a G100 se oculten y si elimino el valor en la celda G35 quiero que las filas G36 a G100 se oculten.
sin tener en cuenta si las celdas de abajo están llenas o vacías (¿lo que haces en tu código?)
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [G36:G100]) Is Nothing Then Exit Sub Rows("36:100").EntireRow.Hidden = False Rows(Target.Row + IIf(Target = "", 1, 2) & ":100").EntireRow.Hidden = True End Sub
eric
PD: la próxima vez usa un sitio sin publicidad, por favor, como cjoint.com
Nunca responderás a un mensaje privado no solicitado...
Bueno, eso está hecho.