提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何在Excel中保存或保留ActiveX列錶框的選擇?

假設您已經創建了一些列錶框並在列錶框中進行了選擇,但是,在關閉並重新打開工作簿時,這些列錶框的所有選擇均消失。 是否要在關閉並重新打開工作簿時保留列錶框中的選擇? 本文中的方法可以幫助您。

在Excel中保存或保留含有VBA代碼的ActiveX列錶框的選擇


在Excel中批量插入或刪除多個複選框:

批量插入複選框 公用事業 Kutools for Excel 可以幫助您快速在選定範圍內一次插入多個複選框。 您可以使用。刪除所選範圍內的所有復選框 批量刪除複選框。 請參閱sccreenshot:

Kutools for Excel:比200方便的Excel加載項,可以在60天免費試用。 下載並免費試用現在!


在Excel中保存或保留含有VBA代碼的ActiveX列錶框的選擇


如果Excel中有ActiveX列錶框,下面的VBA代碼可以幫助您保存或保留選擇。 請做如下。

1。 在工作簿中包含要保留選擇的ActiveX列錶框,請按 其他 + F11 鍵同時打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,雙擊 的ThisWorkbook 在左側窗格中打開 的ThisWorkbook 推薦碼 窗口。 然後將以下VBA代碼複製到代碼窗口中。

VBA代碼:在Excel中保存ActiveX列錶框的選擇

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。 按 其他 + Q 鍵關閉 Microsoft Visual Basic for Applications 窗口。

4。 現在您需要將工作簿保存為啟用Excel宏的工作簿。 請點擊 文件 > 另存為 > 瀏覽.

5。 在裡面 另存為 對話框中選擇要保存工作簿的文件夾,根據需要重命名它,然後選擇 Excel宏啟用工作簿保存類型 下拉列表,最後點擊 節省 按鈕。 看截圖:

每次更新列錶框時,請保存工作簿。 然後,重新打開工作簿後,所有以前的選擇將保留在列錶框中。

注意:保存工作簿時,名為“列錶框數據“將在工作簿的所有工作表的末尾自動創建,請忽略此工作表,因為工作簿關閉時會自動消失。



推薦的Excel生產力工具

Kutools for Excel幫助您提前完成工作,並從人群中脫穎而出

  • 超過300強大的高級功能,專為1500工作場景設計,通過70%提高生產力,讓您有更多時間照顧家庭和享受生活。
  • 不再需要記憶公式和VBA代碼,從現在起讓你的大腦休息一下。
  • 成為3分鐘的Excel專家,複雜和重複的操作可以在幾秒鐘內完成,
  • 每天減少成千上萬的鍵盤和鼠標操作,現在告別職業病。
  • 110,000高效人才和300 +世界知名公司的選擇。
  • 60-day full功能免費試用。 60天退款保證。 2多年的免費升級和支持。

將選項卡式瀏覽和編輯帶到Microsoft Office,遠比瀏覽器的選項卡強大

  • Office選項卡專為Word,Excel,PowerPoint和其他Office應用程序設計:Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
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 · 27 days 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.