Como hacer una macropara ocultar y mostrar filas con un cuadro de verificación de activex

Quisiera solicitar su ayuda en la construcción de una macro, la idea es poner un botón de verificación, el cual cuando este activado se muestren las cuatro filas siguientes y cuando este desactivado se oculten, no se sime explico, por ejemplo pongo un cuadro activex en la celda b 50 quiero que si esta desactivado estén ocultas las filas 51 a 54 y si esta activado las muestre.

1 Respuesta

Respuesta
1

Para no intentar con algo no seguro, mejor aclarame x favor si SOLO habrá un cuadro de verificación o varios en distintas ubicaciones.

Los cuadros se colocan 'por encima' de las celdas aunque te esfuerces en dejarla justo en su lugar. Pero tiene la opción de vincularla a una celda y esas son las referencias que utilizaremos para controlar cuando cambien de valor.

Entonces hacé clic derecho sobre el control dibujado, opción Propiedades y en LinkedCell dejá escrito la celda. Si van a ser varios controles, podrías colocar las referencias en una col tipo lista, por ej desde M1 hacia abajo.

Quedo a la espera de tus aclaraciones para comenzar con la macro.

Buenos días Elsa muchas gracias por tu respuesta, efectivamente pienso colocar aproximadamente 4 cuadros de control en la hoja y lo hago para que no me quede siempre visible algunas filas que no necesito en proyectos específicos, también puedo colocar el cuadro de control para que aparezca false o true en una celda especifica, y he intentando con lo de la macro y aunque encontré en internet como se oculta la fila la verdad no he podido, de nuevo mil gracias por tu colaboración.

Bien, en ese caso no necesitaremos los valores de los controles, sino que controlaremos cada casilla de verificación.

Clie derecho sobre el control, opción Ver código. Esto te llevará a la hoja donde tenés los controles y allí copiá estas rutinas.

Por ahora la 2da tiene un rango de ejemplo (tendrás que ajustar a tus filas que pueden ser más de 4) y luego repetí lo mismo para los otros controles.

Private Sub CheckBox1_Click()
'x Elsamatilde
If CheckBox1.Value = False Then
 Rows("51:54").EntireRow.Hidden = True
Else
 Rows("51:54").EntireRow.Hidden = False
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = False Then
 Rows("65:68").EntireRow.Hidden = True     'ajustar
Else
 Rows("65:68").EntireRow.Hidden = False
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas