Valor de la casilla de verificación

Resuelto
MF -  
 MF -
Bonjour,

Soy una auténtica novata en el tema de Macro Excel, pero intentaré hablar su idioma y ser lo más clara posible.

He creado casillas de verificación a través de los controles de formulario.
Me gustaría que, según las casillas marcadas, las filas en otra hoja de mi libro sean visibles (en resumen: si la casilla no está marcada, ocultar la fila correspondiente).

Mi libro:
- Hoja "Export" donde están las casillas de verificación
- Hoja "Export recomendación" donde están la información para mostrar u ocultar en función de las marcas
- Animals: ejemplo de una de las casillas de verificación que renombré.

De hecho, he creado este código (solo para la primera casilla, pensé en copiar y pegar para las siguientes):

Sheets("Export").Select
If Animals.Value = False Then
Sheets("Export recomendaciones").Select
Rows("8").Select
Selection.EntireRow.Hidden = True
End If

End Sub

Con este código, tengo la impresión de que su valor siempre se considera falso, y por lo tanto mi fila 8 siempre está oculta.

¿De dónde podría venir este problema?

¡Muchas gracias por su ayuda!

1 respuesta

Zoul67 Mensajes publicados 2001 Estado Miembro 149
 
Hola,

"Nuestro" lenguaje ?! El francés, ¿no...?
En tu código, no declaras lo que sucede si Animals.Value=True...

¡Hasta luego!
1
MF
 
Hola,

También intenté el código a continuación, pero sin más resultado:

If Animals = False Then
Sheets("Export recommandations").Select
Rows("8").Select
Selection.EntireRow.Hidden = True
Else
Sheets("Export recommandations").Select
Rows("8").Select
Selection.EntireRow.Hidden = False
End If

Mi valor parece ser siempre considerado como "False", ya esté la casilla marcada o no.
0
Zoul67 Mensajes publicados 2001 Estado Miembro 149
 
Re,

Utiliza en su lugar una casilla de verificación de control ActiveX: inicialmente tendrá el nombre CheckBox1.
Para verificar que gestiona las alternancias marcado/desmarcado, he hecho:
Private Sub CheckBox1_Click() MsgBox CheckBox1.Value End Sub

En lugar de gestionar con If, puedes utilizar directamente el valor de la CheckBox:
Private Sub CheckBox1_Click() Sheets("Feuil2").Rows("8").Hidden = CheckBox1.Value End Sub


Con tus nombres de objetos, debe ser:
Private Sub Animals_Click() Sheets("Export recommandations").Rows("8").Hidden = Animals.Value End Sub


¡Hasta luego!
0
MF
 
Hola,

¡Gracias por tu ayuda, que me ha permitido corregir mi problema!
Para tu información, también he añadido un ThisWorkbook.Worksheets("Export") antes del nombre de la CheckBox.

¡Hasta luego!
0