Agregas casillas de verificación a una hoja de cálculo, guardas el archivo y al reabrirlo descubres que las casillas faltan o se restablecieron a su estado predeterminado. Este problema generalmente ocurre porque Excel 365 guarda el estado de la casilla como una propiedad del libro, pero el formato de archivo o un complemento dañado impide que el estado se almacene correctamente. Este artículo explica por qué las casillas pierden su estado y proporciona tres métodos confiables para solucionar el problema.
Conclusiones clave: Solucionar casillas que se restablecen después de guardar
- Archivo > Guardar como > Examinar > Tipo de archivo > Libro de Excel habilitado para macros (xlsm): Fuerza a Excel a almacenar todas las propiedades de los controles, incluidos los estados de las casillas.
- Ficha Programador > Insertar > Controles de formulario > Casilla de verificación (control de formulario): Úsalo en lugar de los controles ActiveX para evitar errores de pérdida de estado en Excel 365.
- Archivo > Opciones > Complementos > Administrar complementos COM > Ir > Desmarcar todas las casillas: Desactiva los complementos de terceros que interfieren con la persistencia del estado de los controles.
Por qué las casillas de verificación de Excel 365 se restablecen después de guardar
Excel 365 admite dos tipos de casillas de verificación: Controles de formulario y Controles ActiveX. Ambos almacenan su estado marcado como una propiedad del objeto de control dentro del libro. Al guardar el archivo, Excel escribe estas propiedades en la estructura del archivo. Si el archivo se guarda en el formato predeterminado Libro de Excel (xlsx), es posible que las propiedades de los controles no se escriban por completo porque el formato .xlsx está diseñado para datos y formato, no para la persistencia de VBA o controles ActiveX. El formato .xlsm, por otro lado, admite explícitamente contenido habilitado para macros y almacenamiento de estados de control.
Una segunda causa es un complemento COM dañado o en conflicto. Los complementos que se enganchan al evento de guardado de Excel o modifican la interfaz de usuario pueden interceptar la operación de guardado y eliminar accidentalmente las propiedades de control del archivo. Esto es especialmente común con complementos antiguos que no se han actualizado para Excel 365.
Una tercera causa es el uso de controles ActiveX en lugar de controles de formulario. Los controles ActiveX tienen más funciones, pero son más propensos a errores de pérdida de estado en Excel 365, particularmente cuando el libro se abre en diferentes versiones de Excel o en diferentes sistemas operativos.
Pasos para evitar que las casillas de verificación pierdan su estado
Usa estos métodos en orden. Prueba después de cada método guardando, cerrando y reabriendo el libro.
Método 1: Guardar el libro como archivo .xlsm
- Abre el libro con las casillas de verificación
Asegúrate de que todas las casillas estén en el estado que deseas guardar. - Ve a Archivo > Guardar como > Examinar
Se abre el cuadro de diálogo Guardar como. - Cambia el tipo de archivo a Libro de Excel habilitado para macros (xlsm)
Haz clic en la lista desplegable Tipo de archivo y selecciona Libro de Excel habilitado para macros (xlsm). - Haz clic en Guardar
Excel guarda el libro en formato .xlsm. Si aparece una advertencia sobre macros, haz clic en Sí para confirmar. - Cierra y vuelve a abrir el archivo
Verifica que las casillas muestren el estado que estableciste antes de guardar.
Método 2: Reemplazar las casillas ActiveX por controles de formulario
Si el formato .xlsm no solucionó el problema, es probable que las casillas sean controles ActiveX. Reemplázalos por controles de formulario.
- Elimina la casilla ActiveX existente
Haz clic derecho en la casilla, selecciona Cortar o presiona Suprimir. - Habilita la ficha Programador si no está visible
Ve a Archivo > Opciones > Personalizar cinta de opciones. En Fichas principales, marca Programador y haz clic en Aceptar. - Inserta una casilla de verificación de control de formulario
En la ficha Programador, haz clic en Insertar. En la sección Controles de formulario, haz clic en el icono Casilla de verificación (el que tiene una marca de verificación). - Dibuja la casilla en la hoja de cálculo
Haz clic y arrastra para crear la casilla donde estaba la anterior. Haz clic derecho en la nueva casilla y selecciona Editar texto para cambiar la etiqueta. - Vincula la casilla a una celda
Haz clic derecho en la casilla, selecciona Formato de control. En la ficha Control, ingresa una referencia de celda en el cuadro Vínculo con la celda. Haz clic en Aceptar. La celda vinculada muestra VERDADERO cuando está marcada y FALSO cuando no está marcada. - Guarda el libro como .xlsm
Repite los pasos del Método 1 para guardar el archivo en formato .xlsm.
Método 3: Desactivar complementos COM conflictivos
- Abrir Excel en modo seguro
Mantén presionada la tecla Ctrl y haz doble clic en el acceso directo de Excel. Cuando aparezca el mensaje, haz clic en Sí. Si las casillas se guardan correctamente en modo seguro, un complemento es la causa. - Abrir la configuración de complementos COM
Ve a Archivo > Opciones > Complementos. En la parte inferior, en la lista desplegable Administrar, selecciona Complementos COM y haz clic en Ir. - Desmarca todas las casillas de los complementos de terceros
Desmarca todos los complementos que no sean de Microsoft. No desmarques Microsoft Power Map para Excel ni Microsoft Power Pivot para Excel a menos que estés seguro de que no son la causa. - Haz clic en Aceptar y reinicia Excel
Vuelve a abrir el libro y prueba las casillas. Si ahora se guardan correctamente, vuelve a habilitar los complementos uno por uno para encontrar el culpable específico.
Si las casillas aún se restablecen después de aplicar las soluciones principales
El estado de la casilla se revierte cuando el libro se abre en otra computadora
Esto sucede cuando el libro usa casillas ActiveX y la computadora de destino tiene una versión diferente de Excel o le faltan controles. Reemplaza las casillas ActiveX por controles de formulario como se muestra en el Método 2. Los controles de formulario son compatibles con versiones anteriores y no dependen del registro de componentes ActiveX.
Las casillas desaparecen por completo después de guardar
El libro puede haberse guardado en un formato que no admite controles, como CSV UTF-8 (csv) o Libro de Excel 97-2003 (xls). Usa siempre Libro de Excel habilitado para macros (xlsm) para archivos con casillas de verificación. Si necesitas compartir el archivo con usuarios de versiones anteriores de Excel, considera vincular la casilla a una celda y usar el valor de la celda (VERDADERO/FALSO) como solución alternativa.
El estado de la casilla se restablece después de ejecutar una macro de VBA
Una macro que borra la hoja de cálculo o reinicializa los controles puede sobrescribir el estado guardado. Revisa el código VBA en busca de líneas que establezcan CheckBox.Value = False o CheckBox.Value = xlOff. Comenta o modifica esas líneas para preservar la selección del usuario.
Controles de formulario vs controles ActiveX para la persistencia de casillas
| Elemento | Casilla de verificación de control de formulario | Casilla de verificación ActiveX |
|---|---|---|
| Formato de archivo requerido | .xlsm o .xlsx | .xlsm solamente |
| Estado guardado correctamente en Excel 365 | Sí | Frecuentemente falla |
| Compatibilidad con versiones anteriores de Excel | Buena | Pobre (requiere registro ActiveX) |
| Se puede vincular a una celda | Sí | Sí |
| Admite eventos VBA | Limitado | Completo |
Para la mayoría de los libros de trabajo empresariales, los controles de formulario son la opción más segura porque no dependen de ActiveX y conservan su estado de manera confiable entre guardados y versiones.
Ahora puedes solucionar las casillas que no se guardan en Excel 365 cambiando al formato .xlsm, reemplazando los controles ActiveX por controles de formulario y desactivando los complementos conflictivos. La próxima vez que crees una casilla, usa la ficha Programador e inserta un control de formulario desde el principio. Para una capa adicional de seguridad, vincula cada casilla de control de formulario a una celda oculta y usa el valor de esa celda en las fórmulas en lugar de leer directamente el estado de la casilla.