Jak uložit nebo uchovat výběry seznamů ActiveX v aplikaci Excel?
Předpokládejme, že jste vytvořili některá seznamová pole a provedli výběr v seznamových polích, ale všechny výběry těchto seznamových polí jsou při zavření a opětovném otevření sešitu pryč. Chcete zachovat výběry provedené v seznamech při každém zavření a opětovném otevření sešitu? Metoda v tomto článku vám může pomoci.
Uložte nebo uchovejte výběry seznamů ActiveX s kódem VBA v aplikaci Excel
Snadné hromadné vkládání nebo mazání více zaškrtávacích polí v aplikaci Excel:
Projekt Zaškrtávací políčka Dávkové vložení nástroje Kutools pro Excel vám pomůže rychle vložit více zaškrtávacích políček do vybraného rozsahu najednou. A můžete odstranit všechna zaškrtávací políčka ve vybraném rozsahu pomocí Zaškrtávací políčka Dávkové odstranění. Viz scc Screenshot:
Kutools pro Excel: s více než 200 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 60 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!
Uložte nebo uchovejte výběry seznamů ActiveX s kódem VBA v aplikaci Excel
Níže uvedený kód VBA vám pomůže uložit nebo uchovat výběry, pokud jsou seznamy ActiveX v aplikaci Excel. Postupujte prosím následovně.
1. V sešitu obsahuje seznamy ActiveX, které chcete zachovat, stiskněte Další + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.
2. V Microsoft Visual Basic pro aplikace v okně dvakrát klikněte Tato pracovní kniha v levém podokně otevřete Tato pracovní kniha Kód okno. A pak zkopírujte následující kód VBA do okna kódu.
Kód VBA: Uložte výběry seznamů ActiveX v aplikaci 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. zmáčkni Další + Q klávesy pro zavření Microsoft Visual Basic pro aplikace okno.
4. Nyní musíte sešit uložit jako sešit Excel s podporou maker. prosím klikněte Soubor > Uložit jako > Procházet.
5. V Uložit jako dialogovém okně vyberte složku pro uložení sešitu, přejmenujte ji, jak potřebujete, vyberte Sešit se zvýšeným makra Excel v Uložit jako typ rozevíracího seznamu a nakonec klikněte na Uložit knoflík. Viz screenshot:
Uložte sešit pokaždé, když aktualizujete seznamy. Poté budou všechny předchozí výběry zachovány v seznamech po opětovném otevření sešitu.
Poznámka: Při ukládání sešitu se zobrazí list s názvem „Data seznamu“ se automaticky vytvoří na konci všech listů vašeho sešitu, ignorujte prosím tento list, protože po zavření sešitu automaticky zmizí.
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!