이 기사에서는 다중 선택으로 Excel 데이터 유효성 검사 드롭다운 목록을 만드는 방법을 배웁니다. 데이터 유효성 검사를 사용하는 동안 목록에서 하나의 항목만 선택할 수 있습니다. 그러나 데이터 유효성 검사 목록의 드롭다운 메뉴에서 여러 항목을 선택하려면 어떻게 해야 할까요? 따라서 이 자습서에서는 일부 매크로를 사용하여 데이터 유효성 검사 드롭다운 목록에서 다중 선택의 제한을 해결합니다.
여기에서 연습 워크북을 다운로드할 수 있습니다.
Excel에서 다중 선택으로 데이터 유효성 검사 드롭다운 목록을 만드는 3가지 예
VBA 적용 프로세스 다중 선택 항목이 있는 데이터 유효성 검사 드롭다운 목록을 만드는 매크로는 약간 복잡한 프로세스입니다. 따라서 이해를 돕기 위해 3 데이터 유효성 검사 드롭다운 목록에서 여러 항목을 선택하는 다양한 예
1. 단일 셀에서 다중 선택을 위한 Excel 데이터 유효성 검사 드롭다운 목록 만들기
무엇보다도 4 이름으로 구성된 다음 데이터세트가 있습니다. 국가. 이러한 이름에서 여러 항목을 선택하여 데이터 유효성 검사 드롭다운 목록을 만들고 싶습니다. 일반적으로 데이터 유효성 검사에서는 한 셀에서 한 국가의 이름만 선택할 수 있습니다. 하지만 데이터 유효성 검사 목록에서 여러 국가 이름을 하나의 셀에 입력하고 싶습니다.
이제 이 작업을 수행하는 단계를 살펴보겠습니다.
단계:
- 먼저 셀 범위(D4:D8 ). 이름 범위 'dv_list_0 설정 '.
- 둘째, 셀 범위(B5:B8 ) 이름 범위를 'Country_Range로 설정합니다. '.
- 셋째, 데이터 로 이동합니다.> 데이터 도구 > 데이터 검증 > 데이터 검증 .
- 위의 작업을 수행하면 '데이터 유효성 검사라는 새 대화 상자가 열립니다. '.
- 다음으로 목록 옵션을 선택합니다. 허용 에서 소스 에 다음 공식을 입력하십시오. 텍스트 필드:
=dv_list_0
- 확인을 클릭합니다. .
- 선택한 셀의 오른쪽에 드롭다운 아이콘이 나타납니다.
- 그런 다음 오른쪽 클릭 활성 시트의 시트 이름에 '코드 보기 옵션을 선택합니다. '.
- 위의 명령은 빈 VBA 를 엽니다. 해당 모듈에 다음 코드를 삽입하세요.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Value_Old As String
Dim Value_New As String
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Not Intersect(Target, ActiveSheet.Range("Country_Range")) Is Nothing Then
Application.EnableEvents = False
Value_New = Target.Value
On Error Resume Next
Application.Undo
On Error GoTo 0
Value_Old = Target.Value
If InStr(Value_Old, Value_New) Then
If InStr(Value_Old, ",") Then
If InStr(Value_Old, ", " & Value_New) Then
Target.Value = Replace(Value_Old, ", " & Value_New, "")
Else
Target.Value = Replace(Value_Old, Value_New & ", ", "")
End If
Else
Target.Value = ""
End If
Else
If Value_Old = "" Then
Target.Value = Value_New
Else
If Value_New = "" Then
Target.Value = ""
Else
If InStr(Target.Value, Value_New) = 0 Then
Target.Value = Value_Old & ", " & Value_New
End If
End If
End If
End If
Application.EnableEvents = True
Else
Exit Sub
End If
End Sub
- 실행 버튼을 클릭하거나 F5 키를 누릅니다. 코드를 실행하는 키입니다.
- 이제 매크로에 이름을 지정하고 실행을 클릭합니다. . 매크로 의 이름 이 예는 VBA입니다. .
- 그런 다음 미국 을 선택합니다. B5 셀의 드롭다운 메뉴에서 . 국가 이름 USA 를 입력합니다. B5 셀 .
- 마지막으로 캐나다 를 선택합니다. 및 멕시코 드롭다운에서도. 드롭다운 메뉴의 모든 값이 하나의 셀에서 선택되었음을 알 수 있습니다.
자세히 보기:데이터 유효성 검사를 위한 Excel 드롭다운 목록을 만드는 방법(8가지 방법)
2. Excel 데이터 유효성 검사 드롭다운 목록을 만들어 인접 열에 다중 선택 삽입
두 번째 예에서는 인접한 열의 여러 선택 항목에 대한 데이터 유효성 검사 드롭다운 목록을 만듭니다. 데이터 유효성 검사 드롭다운 목록에서 항목을 선택하면 인접한 열에서 자동으로 선택됩니다. 이 예를 설명하기 위해 이전 데이터 세트를 계속 사용합니다.
따라서 이 예제를 해결하는 단계를 살펴보겠습니다.
단계:
- 먼저 D5 셀을 선택합니다. . 이전 방법과 마찬가지로 데이터 유효성 검사 드롭다운을 만듭니다. 범위(B5:B8 ) 유효성 검사를 위한 소스 값으로.
- 다음으로 오른쪽 클릭 활성 시트 이름에서 '코드 보기 옵션을 선택합니다. '.
- 새 공백 VBA 모듈은 빈 모듈에 다음 코드를 기록합니다.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo exitHandler
Dim DV_Range As Range
Dim Col_i As Integer
If Target.Count > 1 Then GoTo exitHandler
On Error Resume Next
Set DV_Range = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler
If DV_Range Is Nothing Then GoTo exitHandler
If Intersect(Target, DV_Range) Is Nothing Then
Else
Application.EnableEvents = False
If Target.Column = 4 Then
If Target.Value = "" Then GoTo exitHandler
If Target.Validation.Value = True Then
Col_i = Cells(Target.Row, Columns.Count).End(xlToLeft).Column + 1
Cells(Target.Row, Col_i).Value = Target.Value
Else
MsgBox "Invalid entry"
Target.Activate
End If
End If
End If
exitHandler:
Application.EnableEvents = True
End Sub
- F5 키를 누릅니다. 키를 누르거나 실행 아이콘을 클릭하여 코드를 실행합니다.
- 그런 다음 매크로 라는 새 대화 상자가 VBA1 이라는 매크로를 만듭니다. 실행을 클릭합니다. .
- 그 후 D5 셀의 드롭다운 아이콘에서 USA라는 국가를 선택하십시오. .
- 위의 명령은 국가 이름을 입력합니다. USA 셀 E5 인접한 열 E에 있습니다. .
- 마지막으로 캐나다 를 선택합니다. 및 멕시코 선택한 값이 인접한 열에서 각각 발생하는 것을 볼 수 있습니다.
자세히 알아보기: Excel VBA(매크로 및 UserForm)가 있는 데이터 유효성 검사 목록의 기본값
유사한 수치:
- Excel의 자동 완성 데이터 유효성 검사 드롭다운 목록(2가지 방법)
- Excel의 표에서 데이터 유효성 검사 목록을 만드는 방법(3가지 방법)
- Excel의 한 셀에 여러 데이터 유효성 검사 적용(예제 3개)
- Excel의 데이터 유효성 검사 목록에서 공백을 제거하는 방법(5가지 방법)
- Excel 데이터 유효성 검사 영숫자만(사용자 지정 수식 사용)
3. Excel의 데이터 유효성 검사 드롭다운 목록을 사용하여 별도의 행에서 다중 선택
세 번째 예는 두 번째 예와 매우 유사합니다. 두 번째 예에서는 인접한 열에서 다중 선택이 발생했지만 이 예에서는 다중 선택이 별도의 행에서 발생합니다. 예를 들어, 이 예에서 다중 선택에 대한 데이터 유효성 검사 드롭다운 목록을 만들기 위해 이전 예에서 사용한 데이터세트도 계속 사용합니다.
이제 이 작업을 수행하는 단계를 살펴보겠습니다.
단계:
- 처음에 D5 셀을 선택합니다. . 이전 절차와 마찬가지로 데이터 유효성 검사 드롭다운을 만듭니다. 범위(B5:B8 )를 소스 값으로 사용합니다.
- 다음으로마우스 오른쪽 버튼으로 클릭 활성 시트에. 사용 가능한 옵션에서 '코드 보기를 선택합니다. '.
- 위의 작업은 빈 VBA 를 엽니다. 해당 모듈에 다음 코드를 입력하세요.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo exitHandler
Dim DV_Range As Range
Dim Row_1 As Long
Dim Col_1 As Long
Col_1 = Target.Column
If Target.Count > 1 Then GoTo exitHandler
On Error Resume Next
Set DV_Range = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler
If DV_Range Is Nothing Then GoTo exitHandler
If Intersect(Target, DV_Range) Is Nothing Then
Else
If Target.Value = "" Then GoTo exitHandler
Application.EnableEvents = False
Select Case Target.Column
Case 4
If Target.Offset(0, 1).Value = "" Then
Row_1 = Target.Row
Else
Row_1 = Cells(Rows.Count, Col_1 + 1).End(xlUp).Row + 1
End If
Cells(Row_1, Col_1 + 1).Value = Target.Value
Target.ClearContents
End Select
End If
exitHandler:
Application.EnableEvents = True
End Sub
- 코드를 실행하려면 실행 아이콘을 누르거나 F5 키를 누릅니다. 키.
- 그러면 매크로라는 새 대화 상자가 표시됩니다. . 매크로 이름을 VBA2 로 지정합니다. 실행을 클릭합니다. .
- 그 후 D5 셀의 드롭다운 목록에서 미국 옵션 선택 .
- 그래서 우리는 USA 라는 이름을 볼 수 있습니다. 같은 행에 있지만 인접한 열에 있습니다.
- 결국 캐나다를 선택합니다. , 멕시코 , 및 영국 하나씩. 선택한 값이 동일한 열에서 개별 행에서 하나씩 발생하는 것을 볼 수 있습니다.
자세히 알아보기:필터가 있는 Excel 데이터 유효성 검사 드롭다운 목록(예제 2개)
결론
따라서 이 자습서에서는 여러 선택 항목에 대한 데이터 유효성 검사 드롭다운 목록을 만드는 방법에 대한 개요를 제공합니다. 기술을 테스트하려면 이 문서와 함께 제공되는 연습 워크북을 다운로드하십시오. 질문이 있는 경우 아래 상자에 의견을 남겨주세요. 우리 팀은 가능한 한 빨리 회신을 드릴 것입니다. 앞으로 더욱 혁신적인 Microsoft Excel 을 주시하십시오. 솔루션.
관련 기사
- Excel의 데이터 유효성 검사 수식에서 IF 문을 사용하는 방법(6가지 방법)
- Excel에서 색상으로 데이터 유효성 검사 사용(4가지 방법)
- 다른 시트의 데이터 검증 목록을 사용하는 방법(6가지 방법)
- Excel에서 VBA와 함께 데이터 유효성 검사 목록에 명명된 범위 사용
- [수정됨] Excel에서 복사 붙여넣기에 대한 데이터 유효성 검사가 작동하지 않음(솔루션 포함)