Přejít k hlavnímu obsahu

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

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

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

karta kte 201905


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