Ocultar/Mostar filas de una hoja Excel en función del botón de opción que se seleccione.

Necesito poder mostrar u ocultar determinadas filas de una hoja Excel en función de si está seleccionado un botón de opción u otro. Dichos botones serían dependientes entre sí, cuando uno se activa el otro se desactiva.

Estoy intentando pero no consigo hacer ese acción.

2

2 Respuestas

25.525 pts. Nunca es tarde para aprender....

Consulta en la respuesta respuesta que di en esta pregunta...

Como puedo ocultar y mostrar ciertas filas a través de un botón de chek

No olvides valorar si te fue de utilidad

¡Muchas gracias! 

Sería posible sin VBA ni Control Active X?

Pasa que los botones funcionan con macros y las macros están en Vba, lp que puedes hacer es ocultar las filas o las columnas de forma manual

Click derecho sobre el número de fila para ocultar las filas

Click derecho sobre la letra de la columna para ocultar la columna

4.709.275 pts. Sancho, si los perros ladran ...

Tu botones de opción son de Control ActvieX, prueba con lo siguiente:

Private Sub OptionButton1_Click()
    If OptionButton1 Then
        Rows("5:15").EntireRow.Hidden = False   'muestra todas las filas
        Rows("5:10").EntireRow.Hidden = True    'oculta las que necesitas
    End If
End Sub
'
Private Sub OptionButton2_Click()
    If OptionButton2 Then
        Rows("5:15").EntireRow.Hidden = False   'muestra todas las filas
        Rows("11:15").EntireRow.Hidden = True   'oculta las que necesitas
    End If
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Como mejora comentar que hay varias parejas de botones de opciones, que son dependientes por pares. He probado haciendo lo que indicas y no se discriminan. Cómo se podría hacer?

Los dos primeros quiero que sean dependientes entre sí. Y los dos restantes dependientes entre sí. Adjunto lo que estoy desarrollando, que no van por pares.

Private Sub OptionButton1_Click()
If OptionButton1 Then
Rows("1:100").EntireRow.Hidden = False 'muestra todas las filas
End If
End Sub
'
Private Sub OptionButton2_Click()
If OptionButton2 Then
Rows("1:100").EntireRow.Hidden = False 'muestra todas las filas
Rows("25:30").EntireRow.Hidden = True 'oculta las que necesitas
End If
End Sub

Private Sub OptionButton3_Click()
If OptionButton3 Then
Rows("1:100").EntireRow.Hidden = False 'muestra todas las filas
End If
End Sub

Private Sub OptionButton4_Click()
If OptionButton4 Then
Rows("1:100").EntireRow.Hidden = False 'muestra todas las filas
Rows("34:37").EntireRow.Hidden = True 'oculta las que necesitas
End If
End Sub

Entra a las propiedades del botón 1, en la propiedad GroupName escribe un nombre, en el botón2 en la propiedad GroupName escribe el mismo nombre.

Ahora entra a las propiedades de los botones 3 y 4, en la propiedad GroupName escribe un nombre diferente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas