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

Excel 에서 두 목록 상자 간에 항목을 빠르게 이동하는 방법은 무엇인가요?

작성자수정 날짜

아래 스크린샷과 같이 필요에 따라 한 목록 상자의 항목을 다른 목록 상자로 이동해 본 적이 있나요? 여기서 Excel 에서 이 작업을 수행하는 방법을 설명하겠습니다。

항목을 이동하기 전의 목록 상자들을 보여주는 스크린샷화살표의 스크린샷항목을 이동한 후의 목록 상자들을 보여주는 스크린샷

목록 상자 간 항목 이동


목록 상자 간 항목 이동

이 작업을 완료할 수 있는 기본 제공 기능은 없지만, 이를 도와줄 VBA 코드를 소개합니다。

1. 먼저 새 시트에 목록 상자에 표시될 데이터 목록을 생성해야 합니다。 이 시트의 이름은 다음과 같습니다:Admin_Lists.

원본 데이터의 스크린샷

2. 그런 다음 해당 데이터를 선택하고이름상자로 이동하여 이름을 지정합니다:ItemList。 스크린샷 참조:

이름 상자에서 원본 데이터에 이름을 지정하는 스크린샷

3. 그런 다음 두 목록 상자를 포함할 시트에서개발자>삽입>목록 상자(Active X Control)를 클릭하고 두 개의 목록 상자를 그립니다。 스크린샷 참조:

개발 도구 탭에서 목록 상자(List Box) 컨트롤을 선택하는 스크린샷오른쪽 화살표의 스크린샷생성된 두 개의 목록 상자를 보여주는 스크린샷

개발자탭이 리본에서 숨겨져 있는 경우,Excel 에서 개발자 탭을 표시하는 방법은 2007/2010/2013 리본?이 문서에서 표시 방법을 안내합니다。

4. 그런 다음개발자>삽입>명령 단추(Active X Control)를 클릭하고 두 목록 상자 사이에 네 개의 단추를 그립니다。 스크린샷 참조:

명령 단추(Command Button) 컨트롤을 선택하는 스크린샷오른쪽 화살표 1의 스크린샷생성된 명령 단추들을 보여주는 스크린샷

이제 네 개의 명령 단추의 이름을 새 이름로 변경합니다。

5. 첫 번째 명령 단추를 선택하고속성을 클릭한 후,속성창에서 이름을 지정합니다:BTN_moveAllRight, 그리고>>캡션옆 텍스트 상자에 입력합니다。 스크린샷 참조:

명령 단추의 속성을 변경하는 방법을 보여주는 스크린샷

6. 위의 5 단계를 반복하여 나머지 세 개의 명령 단추를 아래 이름으로 변경하고, 캡션에도 각각 다른 화살표를 입력합니다。 스크린샷 참조:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

속성을 변경한 두 번째 명령 단추의 스크린샷속성을 변경한 세 번째 명령 단추의 스크린샷속성을 변경한 네 번째 명령 단추의 스크린샷

7. 목록 상자와 명령 단추가 포함된 시트 이름을 마우스 오른쪽 버튼으로 클릭하고, 상황에 맞는 메뉴에서코드 보기를 선택합니다。 스크린샷 참조:

VBA 코드 편집기를 여는 스크린샷

8. 아래 매크로 코드를 복사하여모듈스크립트에 붙여넣은 후 코드를 저장하고Microsoft Visual Basic for Applications창을 닫습니다。 스크린샷 참조

VBA: 두 목록 상자 간 항목 이동

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Sheets("Admin_Lists").Range("ItemList")
    Me.ListBox1.Clear
    Me.ListBox2.Clear
    With Me.ListBox1
        .LinkedCell = ""
        .ListFillRange = ""
        For Each xCell In xRg
            If xCell <> "" Then
                .AddItem xCell.Value
            End If
        Next xCell
    End With
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub BTN_MoveSelectedLeft_Click()
    Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_MoveSelectedRight_Click()
    Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub

Private Sub BTN_moveAllLeft_Click()
    Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_moveAllRight_Click()
    Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub

Sub moveAll(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        xListBox2.AddItem xListBox1.List(I)
    Next I
    xListBox1.Clear
End Sub

Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        If I = xListBox1.ListCount Then Exit Sub
        If xListBox1.Selected(I) = True Then
            xListBox2.AddItem xListBox1.List(I)
            xListBox1.RemoveItem I
            I = I - 1
        End If
    Next
End Sub

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

9. 그런 다음 다른 시트로 이동했다가 다시 목록 상자가 있는 시트로 돌아오면 첫 번째 목록 상자에 목록 데이터가 표시됩니다。 이제 명령 단추를 클릭하여 두 목록 상자 간에 항목을 이동할 수 있습니다。

VBA 코드 실행 후 한 목록 상자에 표시된 원본 데이터의 스크린샷

선택 항목 이동

항목을 하나씩 한 목록 상자에서 다른 목록 상자로 이동하는 스크린샷화살표의 스크린샷두 개의 항목이 오른쪽 목록 상자로 이동된 것을 보여주는 스크린샷

모두 이동

한 목록에서 다른 목록으로 모든 항목을 동시에 이동할 수 있는 명령 단추를 표시하는 스크린샷화살표 2의 스크린샷모든 항목이 한 목록 상자에서 다른 목록 상자로 동시에 이동된 것을 보여주는 스크린샷

최고의 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 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약