Saltar al contenido principal

¿Cómo guardar o retener selecciones de cuadros de lista ActiveX en Excel?

Sin embargo, suponiendo que haya creado algunos cuadros de lista y haya realizado selecciones en los cuadros de lista, todas las selecciones de estos cuadros de lista desaparecen al cerrar y volver a abrir el libro. ¿Desea conservar las selecciones realizadas en los cuadros de lista siempre que cierre y vuelva a abrir el libro de trabajo? El método de este artículo puede ayudarte.

Guarde o conserve selecciones de cuadros de lista ActiveX con código VBA en Excel


Inserte o elimine fácilmente varias casillas de verificación de forma masiva en Excel:

La Casillas de verificación de inserción de lote utilidades de Kutools for Excel puede ayudarlo a insertar rápidamente varias casillas de verificación en el rango seleccionado a la vez. Y puede eliminar todas las casillas de verificación en el rango seleccionado con el Casillas de verificación de eliminación por lotes. Ver captura de pantalla:

Kutools for Excel: con más de 200 prácticos complementos de Excel, prueba gratuita y sin límite en 60 días. ¡Descarga y prueba gratis ahora!


Guarde o conserve selecciones de cuadros de lista ActiveX con código VBA en Excel

El siguiente código de VBA puede ayudarlo a guardar o retener selecciones si los cuadros de lista ActiveX en Excel. Haz lo siguiente.

1. En el libro de trabajo que contiene los cuadros de lista de ActiveX que desea mantener las selecciones, presione el otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga doble clic ThisWorkbook en el panel izquierdo para abrir el ThisWorkbook Código ventana. Y luego copie el siguiente código VBA en la ventana de código.

Código VBA: guarde selecciones de cuadros de lista ActiveX en Excel

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim I As Long
    Dim J As Long
    Dim K As Long
    Dim KK As Long
    Dim xSheet As Worksheet
    Dim xListBox As Object
    On Error GoTo Label
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    K = 0
    KK = 0
    If Not Sheets("ListBox Data") Is Nothing Then
        Sheets("ListBox Data").Delete
    End If
Label:
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "ListBox Data"
    Set xSheet = Sheets("ListBox Data")
    For I = 1 To Sheets.Count
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                For J = 0 To .ListCount - 1
                    If .Selected(J) Then
                        xSheet.Range("A1").Offset(K, KK).Value = "True"
                    Else
                        xSheet.Range("A1").Offset(K, KK).Value = "False"
                    End If
                    K = K + 1
                Next
                End With
                K = 0
                KK = KK + 1
            End If
        Next
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
    Dim I As Long
    Dim J As Long
    Dim KK As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xListBox As Object
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    KK = 0
    For I = 1 To Sheets.Count - 1
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                    Set xRg = Intersect(Sheets("ListBox Data").Range("A1").Offset(0, KK).EntireColumn, Sheets("ListBox Data").UsedRange)
                    For J = 1 To .ListCount
                        Set xCell = xRg(J)
                        If xCell.Value = "True" Then
                            .Selected(J - 1) = True
                        End If
                    Next
                    KK = KK + 1
                End With
            End If
        Next
    Next
    Sheets("ListBox Data").Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

3. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.

4. Ahora necesita guardar el libro como un libro de Excel habilitado para macros. Por favor haz click Archive > Guardar como > Explorar.

5. En el Guardar como cuadro de diálogo, seleccione una carpeta para guardar el libro, cámbiele el nombre según sea necesario, seleccione Libro de Excel habilitado para macros existentes Guardar como tipo lista desplegable y, finalmente, haga clic en el Guardar botón. Ver captura de pantalla:

Guarde el libro cada vez que actualice los cuadros de lista. Luego, todas las selecciones anteriores se mantendrán en los cuadros de lista después de volver a abrir el libro.

Note: Al guardar el libro, aparecerá una hoja de trabajo llamada “Datos del cuadro de lista"Se creará automáticamente al final de todas las hojas de trabajo de su libro. Ignore esta hoja de trabajo porque desaparecerá automáticamente cuando se cierre el libro.

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi - Is there any way to prevent the "ListBox Data" tab from opening when you save the file? We're trying to send this to users but every time I save it opens the ListBox Data tab and then I can't save it with the primary tab open - which is confusing for users.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations