¿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
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...
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!