
So legen Sie mehrere Auswahlmöglichkeiten im Excel-Dropdown-Feld fest
1. Zeigen Sie die Registerkarte „Entwicklungstools“ an . Öffnen Sie Excel 2010 und klicken Sie oben links auf das Symbol „Datei“. Klicken Sie auf „Optionen“, um das Dialogfeld „Excel-Optionen“ aufzurufen. Aktivieren Sie „Entwicklungstools“ unter „Menüband anpassen“ und klicken Sie auf „OK“.
Empfohlen: „Excel-Tutorial“


2. Legen Sie den Optionsinhalt des fest Dropdown-Liste. Ändern Sie den Namen des Arbeitsblatts sheet2 in „data“ und geben Sie die Dropdown-Optionen in Spalte A ein.

3. Fügen Sie das ListBox-Steuerelement ein.
1) Wählen Sie im Arbeitsblatt Blatt 1 Spalte A aus, klicken Sie auf die Registerkarte „Entwicklungstools“, wählen Sie „Listenfeld“ unter „Einfügen“ aus und platzieren Sie es in Spalte A.
2) Wählen Sie das Listenfeld-Steuerelement aus, klicken Sie auf „Entwurfsmodus“, klicken Sie im Entwurfsmodus auf „Eigenschaften“. Das ListBox-Eigenschaftenfeld wird angezeigt und wählen Sie „Nach Kategorie sortieren“. Ändern Sie das Element MultiSelect in „1 – fmMultiSelectMulti“, ändern Sie das Element ListStyle in „1 – fmListStyleOption“ und legen Sie das Element ListFillRange auf den Tabellennamen und Zellbereich fest, in dem sich die ausgewählte Menüoption befindet. Das spezifische Format ist „data!A1“. :A8".

4. Code einfügen. Klicken Sie in Excel in den Entwicklungstools auf „Visual Basic“, um den VB-Editor zu öffnen. Doppelklicken Sie auf Sheet1 im VB-Editor, um den Editor von Sheet1 zu öffnen.
Speichern Sie den Code in Blatt1:
Private Sub ListBox1_Change()
If ReLoad Then Exit Sub '见下方说明
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then t = t & "," & ListBox1.List(i)
Next
ActiveCell = Mid(t, 2)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ListBox1
If ActiveCell.Column = 1 And ActiveCell.Row > 1 Then
t =
ActiveCell.Value
ReLoad = True '如果是根据单元格的值修改列表框,则暂时屏蔽listbox的change事件。
For i = 0 To .ListCount - 1 '根据活动单元格内容修改列表框中被选中的内容
If InStr(t, .List(i)) Then
.Selected(i) = True
Else
.Selected(i) = False
End If
Next
ReLoad = False
.Top = ActiveCell.Top + ActiveCell.Height '以下语句根据活动单元格位置显示列表框
.Left = ActiveCell.Left
.Width = ActiveCell.Width
.Visible = True
Else
.Visible = False
End If
End With
End Sub
Doppelklicken Sie im VB-Editor auf Blatt2, fügen Sie den folgenden Code in den Editor ein und speichern Sie ihn. (Dieser Code wird hinzugefügt, um den Optionswert des Dropdown-Menüs dynamisch festzulegen. Wenn der Optionswert des Dropdown-Menüs fest ist, kann er ohne den folgenden Code direkt im ListFillRange-Attribut der ListBox angegeben werden.)
in Blatt2 (Daten) Speichern Sie den Code in:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Sheet1").ListBox1.ListFillRange = "data!a1:a" & Cells(1, 1).End(xlDown).Row
End Sub
Schließen Sie nach dem Speichern des Codes den VB-Editor und klicken Sie auf die Zelle in Spalte A in Blatt1 Arbeitsblatt. Das Ergebnis ist in der folgenden Abbildung dargestellt.
Speichern in Modul 1:
Public ReLoad As Boolean 'Wechseln Sie das Listbox-Änderungsereignis

Das obige ist der detaillierte Inhalt vonSo legen Sie mehrere Auswahlmöglichkeiten im Excel-Dropdown-Feld fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!