KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 ActiveX 목록 상자의 선택 항목을 저장하거나 유지하려면 어떻게 하나요?

작성자Siluvia수정 날짜

목록 상자를 몇 개 만들고 그 안에서 항목을 선택했지만, 워크북을 닫고 다시 열면 모든 선택 항목이 사라집니다。 워크북을 닫고 다시 열 때마다 목록 상자에 선택한 항목을 유지하고 싶으신가요? 이 문서의 방법이 도움이 될 수 있습니다。

Excel 에서 VBA 코드로 ActiveX 목록 상자의 선택 항목 저장 또는 유지하기


Excel 에서 VBA 코드로 ActiveX 목록 상자의 선택 항목 저장 또는 유지하기

다음의 VBA 코드를 사용하면 Excel 에서 ActiveX 목록 상자의 선택 항목을 저장하거나 유지할 수 있습니다。 아래 단계를 따르세요。

1. 선택 항목을 유지하려는 ActiveX 목록 상자가 포함된 워크북에서Alt+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

VBA 코드 사용 방법을 보여주는 스크린샷

3. Alt+Q키를 눌러Microsoft Visual Basic for Applications창을 닫습니다。

4. 이제 워크북을 Excel 매크로 사용 워크북으로 저장해야 합니다。파일>다른 이름으로 저장>찾아보기를 클릭하세요。

다른 이름으로 저장 대화 상자를 여는 화면 스크린샷

5. 다른 이름으로 저장대화상자에서 워크북을 저장할 위치를 폴더 선택 지정하고 필요에 따라 이름을 변경한 후,Excel 매크로 사용 워크북저장 형식 지정드롭다운 목록에서 선택하고 마지막으로저장버튼을 클릭합니다。 스크린샷 참조:

워크북을 Excel 매크로 사용 가능 워크북으로 저장하는 화면 스크린샷

목록 상자를 수정할 때마다 워크북을 반드시 저장하세요。 그러면 워크북을 다시 열었을 때 이전의 모든 선택 항목이 목록 상자에 유지됩니다。

참고: 워크북을 저장할 때 “ListBox Data”라는 워크시트가 자동으로 워크북의 모든 워크시트 끝에 생성됩니다。 이 워크시트는 무시해도 되며, 워크북을 닫으면 자동으로 사라집니다。


최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약