Macros para mostrar y ocultar filas

Tengo una macro que tome de Todoexpertos(gracias) que oculta las filas con valor cero, pero ahora necesito lo contrario que las muestre cuando las contenga. No se si deban ser dos macros o en una puedan estar las dos acciones, la macro que utilizo para mostrar es la siguiente:
Sub Oculta_Valores()
' Nos posecionamos en la primera celda
Range("A6").Select
'iniciamos el ciclo, hasta que se encuentre una una celda vacia
Do While Not IsEmpty(ActiveCell)
'Validamos si el valor es "0"
If ActiveCell = 0 Then
'Si es 0, ocultamos la fila
 Selection.EntireRow.Hidden = True
 'avanzamos una fila hacia abajo
 ActiveCell.Offset(1, 0).Select
Else
' Si el valor no es "0", avanzamos una fila hacia abajo
ActiveCell.Offset(1, 0).Select
End If
' si la celda posicionada es vacia, terminamos el ciclo, si no volvemos se repite
Loop
End Sub
Por su ayudad mil gracias de antemano.
                     Atentamente.
Profr. Marcos Calleja Guerrero.
[email protected]

1 respuesta

Respuesta
1
Sub Oculta_Valores()
' Nos posecionamos en la primera celda
Range("A6").Select
'iniciamos el ciclo, hasta que se encuentre una una celda vacia
Do While Not IsEmpty(ActiveCell)
'Validamos si el valor es "0"
If Not ActiveCell = 0 Then
'Si es 0, ocultamos la fila
 Selection.EntireRow.Hidden = True
 'avanzamos una fila hacia abajo
 ActiveCell.Offset(1, 0).Select
Else
Selection.EntireRow.Hidden = false
' Si el valor no es "0", avanzamos una fila hacia abajo
ActiveCell.Offset(1, 0).Select
End If
' si la celda posicionada es vacia, terminamos el ciclo, si no volvemos se repite
Loop
End Sub
Se le añade la negación, el NOT, al if condicional para invertir la condición.
Gracias Caranbis, seguro no fui muy claro y eso no es lo que ando buscando, sin embargo su respuesta me va a servir, sin duda, en otro trabajo. Específicamente lo que necesito es que cuando posteriormente le agregue otro dato diferente de cero(vienen de otra hoja vinculada) se muestren también estas filas. Por que después de que ejecuto la macro, agrego otro número diferente de cero y no me muestra los últimos .
Esto lo utilizo en una escuela cuando tengo una inscripción inicial de alumnos y posteriormente hay nuevas altas.
Gracias por compartir.
Atentamente. Profr. Marcos Calleja Guerrero.
Lo que debes hacer, es decile a excel que debe ejecutar la macro cada vez que se registra un bambio en dicha hoja. Para esto, entra al editor de visual basci (Alt+F11), en el menú del lado izquierdo busca la hoja donde se debe ejecutar la macro cada vez que se le hace un cambio, y dale doble clic, luego al lado derecho, en la primera lista desplegable, selecciona Worksheet, y en la segunda lista, selecciona Change, y allí dentro de ese Sub, coloca simplemente el nombre de tu macro (Oculta_Valores). Deberá quedar algo así.
Private Sub Worksheet_Change(ByVal Target As Range)
Oculta_Valores
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas