메인 컨텐츠로 가기

Excel의 모든 시트 이름으로 Userform ComboBox를 채우는 방법은 무엇입니까?

작가: 실루비아 최종 수정 날짜: 2020-07-08

이 기사에서는 현재 통합 문서의 모든 시트 이름을 Excel의 사용자 양식 콤보 상자에 채우는 방법에 대해 설명합니다.

VBA 코드로 모든 시트 이름으로 Userform ComboBox 채우기


VBA 코드로 모든 시트 이름으로 Userform ComboBox 채우기

다음 VBA 코드는 현재 통합 문서의 모든 시트 이름을 사용자 양식 콤보 상자에 삽입하는 데 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 누르세요 다른 + F11 동시에 열려면 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. 에서 응용 프로그램 용 Microsoft Visual Basic 창에서 클릭하여 사용자 양식을 삽입하십시오. 끼워 넣다 > 사용자 양식 아래 스크린 샷과 같이.

3. 그런 다음 콤보 상자 컨트롤을 그려서 Userform에 삽입합니다. 스크린 샷보기 :

4. 삽입 된 콤보 상자를 마우스 오른쪽 단추로 클릭하고 코드보기 상황에 맞는 메뉴에서. 스크린 샷보기 :

5. 오프닝에서 응용 프로그램 용 Microsoft Visual Basic 창에서 VBA 코드 아래에 복사하여 붙여 넣어 코드 창에서 원래 코드를 대체하십시오.

VBA 코드 : 현재 통합 문서의 모든 시트 이름으로 Userform ComboBox 채우기

Private Sub UserForm_Initialize()
    Dim I As Long
    Me.ComboBox1.Clear
    For I = 1 To Sheets.Count
        Me.ComboBox1.AddItem Sheets(I).Name
    Next
    Me.ComboBox1.Value = ActiveSheet.Name
End Sub

주의 사항: 코드에서 ComboBox1은 삽입된 콤보박스의 이름입니다. 본인의 것으로 변경해주세요.

6. 누르세요 F5 코드를 실행하는 키입니다. 열려 있는 사용자 양식에서 아래 스크린샷과 같이 현재 통합 문서의 모든 시트 이름이 콤보 상자에 표시되는 것을 볼 수 있습니다.


Excel에서 모든 시트 이름을 쉽게 나열

XNUMXD덴탈의 시트 이름 목록 만들기 ~의 유용성 Excel 용 Kutools Excel의 새 워크시트에 활성 통합 문서의 모든 워크시트 이름을 쉽게 나열하는 데 도움이 됩니다. 그리고 아래 스크린샷처럼 시트명을 클릭하면 해당 워크시트로 바로 이동할 수 있습니다.
지금 다운로드하여 사용해 보세요! (30일 무료 트레일)


관련 기사:

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Dear Sir/Madam,
Thanks for you kind help. I'm a new Lerner of VBA and these article helps me a lot. I have used this code to show all worksheets in a userform combobox. It is perfect. I have a doubt. Can I show those sheet name alphabetically on Userform_Initialize? Though my worksheets are not arranged alphabetically.
Please guide me how to proceed further with my requirement.
Thanks,
R.P
This comment was minimized by the moderator on the site
Good Day,
Sorry for replying so late. The following VBA code can help you solve the problem.

Private Sub UserForm_Initialize()
Dim xWSs As Worksheets
Dim xWS As Worksheet
Dim xName As String
Dim xI As Integer
Dim xRg As Range
On Error Resume Next

xName = "StoreWorkSheetsName"

Application.DisplayAlerts = False

If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.count)).Name = xName & ""
Else
Sheets(xName & "").Move after:=Worksheets(Worksheets.count)
End If
Set xWS = Sheets(xName & "")

For xI = 1 To Sheets.count - 1
xWS.Range("A" & xI).Value2 = Sheets(xI).Name
Next xI
xI = xI - 1
Set xRg = xWS.Range("A1:A" & xI)
ActiveWorkbook.Worksheets(xName).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(xName).Sort.SortFields.Add Key:= _
Range("A1:A" & xI), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets(xName).Sort
.SetRange Range("A1:A" & xI)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Me.ComboBox1.Clear
For i = 1 To xRg.count
Me.ComboBox1.AddItem xRg.Item(i).Value

Next
Me.ComboBox1.Value = ActiveSheet.Name

xWS.Delete
Application.DisplayAlerts = True
End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations