Как сохранить или сохранить выбранные списки ActiveX в Excel?
Предположим, вы создали несколько списков и сделали выбор в списках, однако все выборы в этих списках исчезают при закрытии и повторном открытии книги. Вы хотите сохранить выбор, сделанный в списках, при закрытии и повторном открытии книги? Метод, описанный в этой статье, может вам помочь.
Сохранение или сохранение выбранных списков ActiveX с кодом VBA в Excel
Легко вставляйте или удаляйте сразу несколько флажков сразу в Excel:
Ассоциация Флажки пакетной вставки коммунальные услуги Kutools for Excel может помочь вам быстро установить сразу несколько флажков в выбранном диапазоне. И вы можете удалить все флажки в выбранном диапазоне с помощью Флажки пакетного удаления. См. Скриншот:
Kutools for Excel: с более чем 200 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 60 дней. Загрузите и бесплатную пробную версию прямо сейчас!
Сохранение или сохранение выбранных списков ActiveX с кодом VBA в Excel
Приведенный ниже код VBA может помочь вам сохранить или сохранить выбранные элементы в списках ActiveX в Excel. Пожалуйста, сделайте следующее.
1. В книге, содержащей списки ActiveX, в которых вы хотите сохранить выбор, нажмите кнопку другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, дважды щелкните Эта рабочая тетрадь на левой панели, чтобы открыть Эта рабочая тетрадь Code окно. А затем скопируйте следующий код VBA в окно кода.
Код VBA: сохранение выбранных списков ActiveX в 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. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.
4. Теперь вам нужно сохранить книгу как книгу Excel с поддержкой макросов. Пожалуйста, нажмите Файл > Сохранить как > ЛИСТАТЬ СПИСКИ.
5. в Сохранить как диалоговом окне выберите папку для сохранения книги, переименуйте ее, как вам нужно, выберите Excel Macro-Enabled Workbook в Сохранить как раскрывающийся список и, наконец, щелкните Сохранить кнопка. Смотрите скриншот:
Пожалуйста, сохраняйте книгу каждый раз, когда вы обновляете списки. Тогда все предыдущие выборы будут сохранены в списках после повторного открытия книги.
Внимание: При сохранении книги лист с именем «Данные ListBox”Будет создан автоматически в конце всех листов вашей книги, пожалуйста, не обращайте внимания на этот лист, потому что он автоматически исчезнет при закрытии книги.
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!