So erstellen Sie ein Excel-Dropdown-Menü für Name/Wert-Paare

So erstellen Sie ein Excel-Dropdown-Menü für Name/Wert-Paare

Ich habe folgende Spalten

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

In Spalte C möchte ich eine Dropdown-Liste zur Validierung haben, die die Verkettung von Name und Wert anzeigt (also Eins - 1, Zwei - 2 usw.). Wenn der Benutzer eine Auswahl trifft (also Zwei - 2), werden nur die Daten in der Spalte Wert in die Zelle eingetragen (also 2).

Wie schaffe ich dieses Kunststück?

Antwort1

Mit Daten wie:

Bildbeschreibung hier eingeben

Platzieren Sie das folgende VBA-Makro in einem Standardmodul und führen Sie es aus:

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

Es wird die Datenüberprüfung für Zellen einrichtenC2,C3, UndC4. Platzieren Sie dann dieses Ereignismakro im Codebereich des Arbeitsblatts:

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

Das Ereignismakro entfernt den Text aus der Zelle, nachdem die Daten eingegeben wurden.

verwandte Informationen