Help and Support

Artikel-ID: 129072 - Geändert am: Dienstag, 10. Oktober 2006 - Version: 2.3

Erstellen einer dynamischen Liste in einem benutzerdefinierten Dialogfeld

Auf dieser Seite

Alles erweitern | Alles schließen

Zusammenfassung

Das Erstellen einer dynamischen Liste oder einer Liste in einem benutzerdefinierten Dialogfeld, Änderungen von einigem Steuerelement abhingen, das in dem Dialogfeld wie einer Schaltfläche ausgewählt wird, ist in Microsoft Excel möglich. Das folgende Beispiel zeigt, wie Sie die Liste ändern kann können, die in einem benutzerdefinierten Dialogfeld angezeigt wird, während das Dialogfeld weiterhin angezeigt wird.

Weitere Informationen

Ohne Garantie, ist ausgedrückt, oder die impliziert wird, bietet Microsoft Programmierbeispiele nur für Abbildung. Das enthält aber ist auf den konkludenten Garantien von Merchantability oder Eignung für einen bestimmten Zweck nicht beschränkt. In diesem Artikel wird vorausgesetzt, dass von Ihnen mit der Programmiersprache, die demonstriert wird, und den Tools vertraut, die zu dem Erstellen und dem Debuggen von Prozeduren verwandt werden ist. Technischen Support von Microsoft helfen, die Funktionalität von einem bestimmten Verfahren zu erläutern, aber sie diese Beispiele zu nicht ändern, um bereitzustellen, dass Funktion hinzufügte, oder Prozeduren zu erstellen, um Ihre bestimmten Anforderungen zu erfüllen. In diesem Beispiel zeigt das Dialogfeld, das Sie erstellen, eine leere Liste (Steuerung von List-Feld) an Sie führen wann zuerst das Dialogfeld aus. Wenn Sie auf die Schaltfläche unter List One klicken, wird in dem Dialogfeld eine Liste von Obst verschiedener Arten angezeigt. Wenn Sie die List Two Schaltfläche auswählen, wird in dem Dialogfeld eine List von Farben angezeigt.

So erstellen Sie das benutzerdefinierte Dialogfeld

  1. Wählen Sie in dem Menü Einfügen Makro aus, und wählen Sie dann Dialog, um ein neues Dialogblatt zu Ihrer Arbeitsmappe hinzuzufügen.
  2. Verwenden Sie die Formularsymbolleiste, um Ihrem Dialogfeld ein List-Feld und zwei Schaltflächen hinzuzufügen.
  3. Geben Sie den Text ein, der auf den benutzerdefinierten Schaltflächen Ihnen z. B angezeigt werden soll List One Und List Two.
  4. Wählen Sie das List-Feld aus. Geben Sie das Sie im Feld Namens ein ListDrücken Sie dann die EINGABETASTE
  5. Wählen Sie eine der benutzerdefinierten Schaltflächen (nicht OK oder Abbrechen) aus, und wählen Sie in dem Menü Format Objekt. Wählen Sie in dem Dialogfeld Objekt formatieren das Register Steuerelement Auswählen des Dismiss-Kontrolle-Kästchens aus, und wählen Sie dann OK aus.
  6. Wiederholen Sie Schritt 4 mit der zweiten benutzerdefinierten Schaltfläche.

Eingeben von Daten in dem Arbeitsblatt

  1. Geben Sie in einem Arbeitsblatt der Arbeitsmappe die zwei anderen Listen ein, die in dem Dialogfeld wiedergegeben werden sollen. Geben Sie in dem Sheet1 zum Beispiel folgende ein:
          A1: Apple    B1: Red
          A2: Orange   B2: White
          A3: Banana   B3: Blue
          A4: Pear     B4: Green
          A5: Grapes   B5: Yellow

Um das Dialogfeld auszuführen, erstellen Sie eine Prozedur so

  1. Fügen Sie ein neues Modul-Blatt in Ihrer Arbeitsmappe ein, indem Makro in dem Menü Einfügen auswählt und Modul dann wählt.
  2. Geben Sie in dem neuen Modul folgend 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
    						
  3. Wählen Sie die Dialogblattregisterkarte aus. Klicken Sie in dem Dialograhmen auf den OK, und wählen Sie in dem Menü Extra Makro Assign aus. Wählen Sie aus der Macro Name/Reference-Liste OKChosen aus, und klicken Sie auf OK.
  4. Wählen Sie das Schaltfläche Abbrechen aus, und wählen Sie in dem Menü Extra Makro Assign aus. Wählen Sie aus der Macro Name/Reference-Liste CancelChosen aus, und klicken Sie auf OK.
  5. Wählen Sie die erste benutzerdefinierte Schaltfläche (List One in diesem Beispiel) aus, und wählen Sie in dem Menü Extra Makro Assign aus. Wählen Sie aus der Macro Name/Reference-Liste OptionOne_Click aus, und klicken Sie auf OK.
  6. Wählen Sie die zweite benutzerdefinierte Schaltfläche (List Two in diesem Beispiel) aus, und wählen Sie in dem Menü Extra Makro Assign aus. Wählen Sie aus der Macro Name/Reference-Liste OptionTwo_Click aus, und klicken Sie auf OK.
  7. Klicken Sie in dem Menü Extra auf Makro, um das Dialogfeld anzuzeigen. Wählen Sie aus der Macro Name/Reference-Liste Main aus, und wählen Sie aus, Ausführen.
Wenn Sie in dem Dialogfeld die ersten Liste auf die Schaltfläche unter List One klicken, wird die Liste von Obst angezeigt. Dass Sie List Two Schaltfläche, die zweite Liste, die Liste der Farben auswählen wird angezeigt. Wenn Sie OK auswählen, wird mit dem Element, das Sie in der Liste auswählten, ein Dialogfeld angezeigt. Klicken Sie auf Abbrechen, um das benutzerdefinierte Dialogfeld zu schließen.

Informationsquellen

Wählen Sie für weitere Information zu dem Control Properties Button oder dem List Box Button die Suche in Hilfe und Typen aus:
custom dialogs, adding controls

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0c
  • Microsoft Excel 5.0a for Macintosh
Keywords: 
kbcode kbhowto kbprogramming KB129072 KbMtde kbmt
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
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.
Retired KB ArticleDisclaimer 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.

SPRACHE AUSWÄHLEN