Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Connetti
x
or
x
x
Registrati
x

or

Come salvare o conservare selezioni di caselle di riepilogo ActiveX in Excel?

Supponendo di aver creato alcune caselle di riepilogo e aver effettuato selezioni nelle caselle di riepilogo, tuttavia, tutte le selezioni di queste caselle di riepilogo sono scomparse quando si chiude e si riapre la cartella di lavoro. Vuoi mantenere le selezioni fatte nelle caselle di elenco quando chiudi e riapri la cartella di lavoro? Il metodo in questo articolo può aiutarti.

Salvare o conservare selezioni di caselle di riepilogo ActiveX con codice VBA in Excel


Inserire o eliminare facilmente più caselle di controllo in blocco in Excel:

Il sito Caselle di controllo per inserimento in batch utilità di Kutools for Excel può aiutarti a inserire rapidamente più caselle di controllo nell'intervallo selezionato in una sola volta. Ed è possibile eliminare tutte le caselle di controllo nell'intervallo selezionato con Caselle di controllo Elimina batch. Vedi sccreenshot:

Kutools for Excel: con più di 200 pratici componenti aggiuntivi di Excel, liberi di provare senza limitazioni nei giorni 60. Scarica e prova gratis ora!


Salvare o conservare selezioni di caselle di riepilogo ActiveX con codice VBA in Excel


Il codice VBA riportato di seguito può aiutarti a salvare o conservare le selezioni se le caselle di riepilogo ActiveX in Excel. Si prega di fare come segue.

1. Nella cartella di lavoro contiene le caselle di riepilogo ActiveX che si desidera mantenere le selezioni, premere il pulsante altro + F11 tasti contemporaneamente per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare doppio clic ThisWorkbook nel riquadro sinistro per aprire il ThisWorkbook Codice finestra. E quindi copiare il seguente codice VBA nella finestra del codice.

Codice VBA: Salva selezioni di caselle di riepilogo ActiveX in 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. premi il altro + Q le chiavi per chiudere il Microsoft Visual Basic, Applications Edition finestra.

4. Ora è necessario salvare la cartella di lavoro come cartella di lavoro abilitata per Excel. Per favore clicca Compila il > Salva con nome > Navigare.

5. Nel Salva con nome finestra di dialogo, selezionare una cartella per salvare la cartella di lavoro, rinominarla come necessario, selezionare Cartella di lavoro abilitata per Excel Il Salva come tipo elenco a discesa e infine fare clic su Risparmi il pulsante. Vedi screenshot:

Si prega di salvare la cartella di lavoro ogni volta che si aggiornano le caselle di riepilogo. Quindi tutte le selezioni precedenti verranno mantenute nelle caselle di riepilogo dopo la riapertura della cartella di lavoro.

Note: Quando si salva la cartella di lavoro, un foglio di lavoro denominato "Dati ListBox"Verrà creato automaticamente alla fine di tutti i fogli di lavoro della cartella di lavoro, ignorare questo foglio di lavoro perché scomparirà automaticamente quando la cartella di lavoro viene chiusa.



Strumenti di produttività consigliati per Excel

Kutools per Excel ti aiuta a terminare sempre il lavoro in anticipo e a distinguerti dalla folla

  • Oltre alle potenti funzionalità avanzate 300, progettate per gli scenari di lavoro 1500, che aumentano la produttività di 70%, offre più tempo per prendersi cura della famiglia e godersi la vita.
  • Non è più necessario memorizzare formule e codici VBA, da ora in poi lasciare riposare il cervello.
  • Diventa un esperto di Excel in 3 minuti, operazioni complicate e ripetute possono essere eseguite in pochi secondi,
  • Riduci ogni giorno migliaia di operazioni con tastiera e mouse, per esempio addio alle malattie professionali.
  • 110,000 persone altamente efficaci e 300 + la scelta delle aziende di fama mondiale.
  • 60-day completa funzionalità di prova gratuita. Garanzie di rimborso 60-day. 2 anni di upgrade e supporto gratuiti.

Porta la navigazione e l'editing a schede in Microsoft Office, molto più potente delle schede del browser

  • Office Tab è progettato per Word, Excel, PowerPoint e altre applicazioni Office: Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Deena · 1 months ago
    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.