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!