Excel 이름/값 쌍 드롭다운을 만드는 방법

Excel 이름/값 쌍 드롭다운을 만드는 방법

다음 열이 있습니다

A     | B
Name  | Value
One   | 1
Two   | 2
Three | 3

C열에는 이름과 값의 연결(예: One - 1, Two - 2 등)을 표시하는 유효성 검사 드롭다운 목록이 필요합니다. 사용자가 선택하면(예: 2 - 2) 값 열의 데이터만 셀에 채워집니다(예: 2).

이 업적을 어떻게 달성합니까?

답변1

다음과 같은 데이터로:

여기에 이미지 설명을 입력하세요

다음 VBA 매크로를 표준 모듈에 배치하고 실행합니다.

Sub DV_Maker()
   Dim i As Long
   Dim s As String

   For i = 2 To 4
      s = s & "," & Cells(i, 1) & " - " & Cells(i, 2)
   Next i
   s = Mid(s, 2)

   With Range("C2:C4").Validation
   .Delete
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
             xlBetween, Formula1:=s
           .IgnoreBlank = True
           .InCellDropdown = True
           .InputTitle = ""
           .ErrorTitle = ""
           .InputMessage = ""
           .ErrorMessage = ""
           .ShowInput = True
           .ShowError = False
   End With
End Sub

셀에 대한 데이터 유효성 검사를 설정합니다.C2,C3, 그리고C4. 그런 다음 이 이벤트 매크로를 워크시트 코드 영역에 배치합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rng As Range
   Set rng = Range("S2:C4")

   If Intersect(Target, rng) Is Nothing Then Exit Sub
   Application.EnableEvents = False
      Target.Value = Split(Target.Value, " - ")(1)
   Application.EnableEvents = True
End Sub

이벤트 매크로는 데이터가 입력된 후 셀에서 텍스트를 제거합니다.

관련 정보