Як зберегти або зберегти виділення списків ActiveX у програмі Excel?
Припустимо, що ви створили кілька вікон списку та зробили виділення у вікнах списку, однак усі виділення цих полів списку зникають після закриття та знову відкривають книгу. Ви хочете зберегти виділення, зроблені у вікнах зі списком, щоразу, коли закриваєте та відкриваєте книгу? Метод у цій статті може вам допомогти.
Збережіть або збережіть виділені вікна списку ActiveX із кодом VBA в Excel
Легко вставляти або видаляти кілька опцій масово в Excel:
Команда Прапорці вставки партії комунальні послуги Kutools для Excel може допомогти вам швидко вставити відразу кілька прапорців у вибраному діапазоні. І ви можете видалити всі прапорці у вибраному діапазоні за допомогою Прапорці з видаленням пакетів. Переглянути знімок екрана:
Kutools для Excel: з більш ніж 200 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 60 днів. Завантажте та безкоштовно пробну версію зараз!
Збережіть або збережіть виділені вікна списку ActiveX із кодом VBA в Excel
Наведений нижче код VBA може допомогти вам зберегти або зберегти виділення, якщо списки ActiveX у Excel. Будь ласка, виконайте наступне.
1. У книзі містяться поля ActiveX у списку, які потрібно зберегти, натисніть кнопку інший + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.
2 В Microsoft Visual Basic для додатків вікно, двічі клацніть ThisWorkbook на лівій панелі, щоб відкрити ThisWorkbook код вікно. А потім скопіюйте наступний код 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 з підтримкою макросів в Зберегти як і, нарешті, клацніть на зберегти кнопку. Дивіться знімок екрана:
Зберігайте книгу кожного разу, коли ви оновлюєте списки. Тоді всі попередні виділення зберігатимуться у вікнах зі списком після повторного відкриття книги.
примітки: Під час збереження книги, аркуш із назвою “Дані ListBox”Буде автоматично створено в кінці всіх аркушів вашої книги, проігноруйте цей аркуш, оскільки він автоматично зникне при закритті книги.
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!