In Microsoft Excel ist es möglich, eine dynamische Liste oder eine Liste in einem benutzerdefinierten Dialogfeld erstellen, die Änderungen auf einige z. B. eine Schaltfläche im Dialogfeld ausgewählten Steuerelement basiert. Das folgende Beispiel zeigt, wie Sie die Liste ändern können, die in einem benutzerdefinierten Dialogfeld angezeigt wird, während das Dialogfeld weiterhin angezeigt wird.
Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen. In diesem Beispiel wird das Dialogfeld, die Sie erstellen eine leere Liste (Listenfeld-Steuerelement) zeigt beim ersten Ausführen im Dialogfeld. Wenn Sie die Liste eine Schaltfläche auswählen, wird eine Liste der verschiedenen Arten von Obst im Dialogfeld angezeigt. Wenn Sie die Schaltfläche Liste zwei auswählen, wird eine Liste der Farben im Dialogfeld angezeigt.
Um Ihrer Arbeitsmappe ein neues Dialogblatt hinzuzufügen, wählen Sie Makro einfügen Menü, und wählen Sie dann Dialog.
Verwenden Sie die Formularsymbolleiste, So fügen Sie das Dialogfeld ein Listenfeld und zwei Schaltflächen hinzu.
Geben Sie auf die benutzerdefinierten Schaltflächen angezeigt, z. B. gewünschten Text Liste eine und Zwei Listen .
Aktivieren Sie das Liste. Geben Sie im Feld Name die Liste , und drücken Sie die [EINGABETASTE].
Wählen Sie eine der benutzerdefinierten Schaltflächen (nicht OK oder Abbrechen), und wählen Sie Objekt aus dem Menü "Format". Wählen Sie im Dialogfeld Objekt formatieren die Registerkarte Steuerelement und aktivieren Sie das Kontrollkästchen schließen und wählen Sie dann OK.
Wiederholen Sie Schritt 4 für die zweite benutzerdefinierte Schaltfläche.
Geben Sie auf ein Arbeitsblatt in der Arbeitsmappe die zwei separate Listen, die im Dialogfeld angezeigt werden soll. Geben Sie beispielsweise die folgenden Sheet1:
A1: Apple B1: Red
A2: Orange B2: White
A3: Banana B3: Blue
A4: Pear B4: Green
A5: Grapes B5: Yellow
So erstellen Sie eine Prozedur zum Ausführen des Dialogfelds
Fügen Sie ein neues Modulblatt in Ihrer Arbeitsmappe indem und Makro aus dem Menü Einfügen und dann Module auswählen.
Geben Sie Folgendes in das neue Modul ein:
' Dimension variables.
Dim chosen As Integer, selected As Integer, MyList As Object
Dim ListOneRange As String, ListTwoRange As String
Sub Main()
' Set value of variable 'chosen' to 1.
chosen = 1
' Assign value of variable 'MyList' to listbox in dialog box.
Set MyList = Application.DialogSheets("Dialog1").ListBoxes("List")
' Define variable 'ListOneRange' as the cell range
' that contains your first list on the worksheet.
ListOneRange = "Sheet1!$A$1:$A$5"
' Define variable 'ListTwoRange' as the cell range
' that contains your second list on the worksheet.
ListTwoRange = "Sheet1!$B$1:$B$5"
' Initialize the list displayed in dialog box to be empty.
MyList.ListFillRange = ""
' Loop to display the dialog box.
' Loop displays the dialog box until it is canceled.
While chosen > 0
show:
' Display the dialog box.
DialogSheets("Dialog1").show
' If the value of 'chosen' is 1, the List One button was
' chosen.
If chosen = 1 Then
' Set range to first list on worksheet
' and display dialog box again.
MyList.ListFillRange = ListOneRange
GoTo show
' If the value of 'chosen' is 2, the List One button was
' chosen.
ElseIf chosen = 2 Then
' Set range to second list on worksheet
' and display dialog box again.
MyList.ListFillRange = ListTwoRange
GoTo show
End If
' Repeat loop.
Wend
End Sub
Sub OptionOne_Click()
' Set value of variable 'chosen' to 1.
chosen = 1
End Sub
Sub OptionTwo_Click()
' Set value of variable 'chosen' to 2.
chosen = 2
End Sub
Sub CancelChosen()
' Set value of variable 'chosen' to 0.
chosen = 0
End Sub
Sub OKChosen()
' OK button was chosen.
' Set value of variable 'selected' to number
' corresponding to the item selected in the list.
selected = MyList.ListIndex
If selected = 0 Then
' Alert if no item is selected.
MsgBox "nothing selected"
Else
' Display selected item in message box.
MsgBox MyList.List(selected)
End If
End Sub
Wählen Sie die Dialogfeld-Blattregisterkarte. Im Dialogfeld Rahmen klicken Sie auf die Schaltfläche "OK", und wählen Sie Makro zuweisen aus im Menü Extras. Aus dem Makro Name-Referenz-Liste, wählen Sie OKChosen, und klicken OK.
Wählen Sie die Abbrechen-Schaltfläche, und wählen Sie Makro zuweisen aus im Menü Extras. Wählen Sie aus der Liste Name/Referenz Macro CancelChosen, und wählen Sie "OK".
Wählen Sie die erste benutzerdefinierte Schaltfläche (Liste 1 in diesem Beispiel) und hinzufügen wählen Makro aus dem Menü Extras. Wählen Sie aus der Liste Name/Referenz Macro OptionOne_Click, und wählen Sie "OK".
Wählen Sie die zweite benutzerdefinierte Schaltfläche (Liste 2 in diesem Beispiel) und hinzufügen wählen Makro aus dem Menü Extras. Wählen Sie aus der Liste Name/Referenz Macro OptionTwo_Click, und wählen Sie "OK".
Im Menü Extras Wählen Sie Makro aus, um das Dialogfeld anzuzeigen. Aus der Liste Name/Referenz Macro Main wählen, und wählen.
Wenn Sie die Liste eine Schaltfläche im Dialogfeld die erste Liste auswählen wird die Liste der Obst angezeigt. Wenn Sie Schaltfläche zwei Listen, die zweite Liste, die Liste der Farben auswählen, werden angezeigt. Wenn Sie OK wählen, wird ein Dialogfeld mit dem Element, das Sie in der Liste ausgewählt angezeigt. Wählen Sie Abbrechen, um das benutzerdefinierte Dialogfeld zu schließen.
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 129072
(http://support.microsoft.com/kb/129072/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
Hat dieser Artikel bei der Lösung Ihres Problems geholfen?
Ja
Nein
Ich weiß nicht
Waren die Informationen für Ihr Problem relevant?
Ja
Nein
Wie könnte man den Artikelinhalt verbessern?
Hinweis: Leider können wir keine Kommentare persönlich beantworten.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.