Verwendung von Visual Basic for Applications (VBA) zum Ändern von UserForms in Excel

Der Support für Office 2003 wurde eingestellt

Microsoft stellte am 8. April 2014 den Support für Office 2003 ein. Diese Änderung wirkt sich auf Ihre Softwareupdates und Sicherheitsoptionen aus. Erfahren Sie, was das für Sie bedeutet und wie Sie Ihren Schutz aufrechterhalten können.

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 829070
Zusammenfassung
Dieser Artikel beschreibt die UserForms in Microsoft Excel programmatisch ändern. Es enthält Beispiele und Microsoft Visual Basic for Applications (VBA) Makros die Verwendung der Funktionen von UserForms und wie Sie UserForms verfügbaren Steuerelemente ActiveX™.

Eine Einführung in die Grundprinzipien von UserForms beschreibt wie diese anzeigen, vorübergehend ausblenden und schließen. Sind auch dargestellt, wie Sie die wichtigsten Ereignisse verwenden, die UserForms zugeordnet sind, die Initialisieren Ereignis, das Klicken Sie auf Ereignis und Beenden Ereignis. Eine oder mehrere der folgenden Beispiele veranschaulicht die folgenden ActiveX™ Steuerelemente in einem Benutzerformular verwenden:
  • Bezeichnung Steuerelement
  • Textfeld Steuerelement
  • Befehlsschaltfläche (CommandButton) Steuerelement
  • Listenfeld Steuerelement
  • ComboBox Steuerelement
  • Rahmen Steuerelement
  • Optionsfeld-Steuerelement Steuerelement
  • Kontrollkästchen Steuerelement
  • ToggleButton Steuerelement
  • Register Steuerelement
  • MultiPage Steuerelement
  • Bildlaufleiste Steuerelement
  • Drehfeld Steuerelement
  • RefEdit Steuerelement
  • Bild Steuerelement
Einführung
Dieser Artikel beschreibt, wie Sie VBA UserForms in Excel ändern.
Weitere Informationen
Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.

Grundlegendes zu UserForms

Anzeigen eine UserForm

Die Syntax zum Anzeigen eines Benutzerformulars programmgesteuert ist folgende:
Name der UserForm. Anzeigen
Verwenden Sie zum Anzeigen einer UserForms mit dem Namen UserForm1 den folgenden Code ein:
UserForm1.Show
Sie können eine UserForm in den Arbeitsspeicher laden, ohne diese tatsächlich anzeigen zu lassen. Bei einer komplexen UserForm kann es mehrere Sekunden dauern bis diese angezeigt wird. Da Sie eine UserForm in den Arbeitsspeicher laden können, können Sie entscheiden, wann dieser Aufwand entsteht. Verwenden Sie den folgenden Code, um UserForm1 in den Arbeitsspeicher zu laden, ohne es anzuzeigen:
Load UserForm1
Um die UserForm anzuzeigen, müssen Sie dieShow -Methode verwenden, die zuvor angezeigt wurde.

Vorübergehendes Ausblenden eine UserForm

Wenn Sie eine UserForm vorübergehend ausblenden möchten, verwenden Sie die MethodeAusblenden . Sie möchten eine UserForm auszublenden, wenn die Anwendung umfasst zwischen UserForms. Verwenden Sie den folgenden Code, um eine UserForm auszublenden:
UserForm1.Hide
Klicken Sie für Weitere Informationen auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
213747 XL2000: Verschieben wie zwischen benutzerdefiniertem UserForms mit Befehlsschaltfläche

Wie Sie eine UserForm aus dem Arbeitsspeicher entfernen

Verwenden Sie AnweisungUnload , um eine UserForm aus dem Arbeitsspeicher zu entfernen. Verwenden Sie den folgenden Code, um eine UserForm mit dem Namen UserForm1 entladen:
Unload UserForm1
Wenn Sie eine UserForm in einer Ereignisprozedur entladen, die einer UserForm oder ein Steuerelement auf einer UserForm zugeordnet ist (z. B. Klicken Sie einCommandButton -Steuerelement), können Sie "Me"-Schlüsselwort anstelle des Namens der UserForm. Um "Me"-Schlüsselwort verwenden, um eine UserForm entladen, verwenden Sie den folgenden Code:
Unload Me

Das UserForm-Ereignissen

UserForms unterstützen eine Vielzahl vordefinierter Ereignisse, denen VBA-Prozeduren anhängen können. Wenn das Ereignis eintritt, wird die an das Ereignis angefügte Prozedur ausgeführt. Eine Aktion, die von einem Benutzer ausgeführt wird, kann mehrere Ereignisse auslösen. Zu den meist verwendeten Ereignissen für UserForms zählen das Initialize -Ereignis, das Click -Ereignis und das Terminate -Ereignis.

Hinweis Ein Visual Basic-Modul, das eine Ereignisprozedur enthält möglicherweise als Modul "hinter" der UserForm bezeichnet werden. Ein Modul, das Ereignisprozeduren enthält, ist nicht in der Auflistung Modules Microsoft Projektexplorer-Fenster des Visual Basic-Editors sichtbar. Sie müssen den Textkörper einer UserForm Codemodul der UserForm anzeigen doppelklicken.

Das Auffangen von UserForm-Ereignissen

Gehen Sie folgendermaßen vor, um UserForm-Ereignisse aufzufangen:
  1. Erstellen Sie eine neue Arbeitsmappe in Excel.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Doppelklicken Sie auf die UserForm um TheCode Fenster für die UserForm anzuzeigen.
  5. Geben Sie im Modul den folgenden Code ein:
    Private Sub UserForm_Click()    Me.Height = Int(Rnd * 500)    Me.Width = Int(Rnd * 750)End SubPrivate Sub UserForm_Initialize()    Me.Caption = "Events Events Events!"    Me.BackColor = RGB(10, 25, 100)End SubPrivate Sub UserForm_Resize()    msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height    MsgBox prompt:=msg, Title:="Resize Event"End SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="QueryClose Event"End SubPrivate Sub UserForm_Terminate()    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="Terminate Event"End Sub
  6. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn die UserForm erstmals geladen wird, verwendet das Makro das Initialize -Ereignis die Beschriftungseigenschaft der UserForm zu "Events Events Events!" und die BackColor -Eigenschaft auf Dunkelblau ändern.

Wenn die UserForm klicken, wird das Click -Ereignis initiieren. Das Click -Ereignis wird das Benutzerformular. Da eine Prozedur für das Resize -Ereignis erstellt erhalten Sie zwei Meldungsfelder angezeigt, nachdem Sie die UserForm angeklickt. Das Resize -Ereignis tritt zweimal, da der Code hinter das Click -Ereignis der Width -Eigenschaft und die Height -Eigenschaft der UserForm ändert.

Schließen die UserForm initiiert das QueryClose -Ereignis. QueryClose -Ereignis zeigt ein Meldungsfeld mit der Beschriftung UserForm im Code für das Initialize -Ereignis gab. Sie können das QueryClose -Ereignis, wenn der Benutzer die UserForm schließt eine Reihe von Aktionen durchführen möchten.

Das Terminate -Ereignis erzeugt ein Meldungsfenster mit, dass die UserForm die Beschriftung "UserForm1" hat. Das Terminate -Ereignis tritt ein, nachdem die UserForm aus dem Arbeitsspeicher entfernt und die Beschriftung der UserForm den ursprünglichen Zustand gibt.

Wie Sie verhindern, dass eine UserForm über die Schaltfläche Schließen geschlossen wird

Beim Ausführen einer UserForms rechten oberen Ecke des Fensters UserForm Schließen hinzugefügt. Möchten Sie verhindern, dass die UserForm mit der Schaltfläche Schließen geschlossen wird, müssen Sie das QueryClose -Ereignis auffangen.

QueryClose -Ereignis tritt unmittelbar vor dem UserForm aus dem Arbeitsspeicher entfernt. Verwenden Sie das Argument CloseMode das QueryClose -Ereignis bestimmt, wie die UserForm geschlossen wird. Das VbFormControlMenu -Wert für das Argument CloseMode gibt an, dass die Schließen -Schaltfläche geklickt wurde. Damit die UserForm aktiv bleibt, das QueryClose -Ereignis das Argument Cancel auf Truefestgelegt. Um das QueryClose -Ereignis um zu verhindern, dass eine UserForm mit der Schaltfläche Schließen geschlossen wird, gehen Sie folgendermaßen vor:
  1. Erstellen Sie eine neue Arbeitsmappe in Excel.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  5. Doppelklicken Sie auf die UserForm um TheCode Fenster für die UserForm anzuzeigen.
  6. Geben Sie in das Codefenster den folgenden Code:
    Private Sub CommandButton1_Click()    Unload MeEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    IF CloseMode = vbFormControlMenu Then        Cancel = True        Me.Caption = "Click the CommandButton to close Me!"    End IfEnd Sub
  7. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Die UserForm wird nicht geschlossen, wenn Sie die Schaltfläche Schließen klicken. Klicken Sie das Befehlsschaltfläche -Steuerelement um die UserForm zu schließen.

Klicken Sie für weitere Informationen auf die folgenden Artikelnummern, um die betreffenden Artikel in der Microsoft Knowledge Base anzuzeigen:
207714 XL2000: Laufzeitfehler mit UserForms-Auflistung
211527 XL2000: Kann nicht UserForm Control in einem Arbeitsblatt ziehen
211868 XL2000: Fehler beim Ausführen eines Makros, das Steuerelement in das Benutzerformular eingefügt
213582 XL2000: Probleme, wenn Sie Makro verwenden, um Steuerelement zu UserForm hinzuzufügen
213583 XL2000: Nicht in anderen Projekten UserForms anzeigen
213736 XL2000: Mit Maustaste drückte wie den Schlüssel ermitteln
213744 XL2000: Vorübergehendes Ausblenden eine UserForm
213747 XL2000: Verschieben wie zwischen benutzerdefiniertem UserForms mit Befehlsschaltfläche
213749 XL2000: Wie verwenden eine UserForm zum Eingeben von Daten
213768 : Xl2000 von einem Formular dynamisch ändern
213774 XL2000: Wie erstelle ich einen Startbildschirm mit einer UserForm

VBA-code

Excel bietet fünfzehn verschiedene Steuerelemente, die Sie auf UserForms verwenden können. Dieser Abschnitt enthält diverse Beispiele für die programmatische dieser Steuerelemente Verwendung.

Hinweis Der VBA-Code in diesem Artikel enthält keine Beispiele, die die Eigenschaften und Ereignisse für die Steuerelemente auswirken. Sie haben können Sie im Eigenschaftenfenster, um eine Liste der Eigenschaften anzuzeigen, die für ein Steuerelement verfügbar sind. Um eine Liste der Eigenschaften im Menü Ansicht anzuzeigen, klicken Sie auf Eigenschaften.

Wie im Entwurfsmodus Steuerelemente bearbeiten

Wenn Sie den Visual Basic-Editor ein Dialogfeld Entwerfen verwenden, verwenden Sie im Entwurfsmodus. Im Entwurfsmodus können Sie Steuerelemente bearbeiten und die Eigenschaften eines Steuerelements auf einer UserForm im Eigenschaftenfenster ändern. Klicken Sie zum Anzeigen im Eigenschaftenfenster im MenüAnsicht auf Eigenschaftenfenster.

Hinweis Steuerelemente reagieren nicht auf Ereignisse, während Sie sich im Entwurfsmodus befinden. Beim Ausführen ein Dialogfeld zum Anzeigen der Möglichkeit, die Benutzer sehen, ist das Programm auszuführen. Änderungen auf die Eigenschaften eines Steuerelements im Ausführmodus werden nicht beibehalten, wenn die UserForm aus dem Arbeitsspeicher entladen wird.

Hinweis Ereignisse im Ausführungsmodus reagieren Steuerelemente.

Das Verweisen auf Steuerelemente auf einer UserForm

Wie Sie auf Steuerelemente programmgesteuert verweisen hängt vom Typ des Visual Basic-Modulblatt, in dem der Code ausgeführt. Wenn der Code von einem allgemeinen Modul ausgeführt wird, lautet die Syntax:
UserFormName.Controlname.Property = Wert
Wenn soll dieText -Eigenschaft eines TextBox -Steuerelements mit dem Namen TextBox1 auf einer UserForm mit dem Namen UserForm1 Wert Bob, verwenden Sie den folgenden Code ein:
UserForm1.TextBox1.Text = "Bob"
Ist der Code in einer Prozedur, die durch ein Ereignis eines Steuerelements oder durch die UserForm-Komponente initiiert wird, brauchen Sie nicht auf den Namen der UserForm verweisen. Verwenden Sie stattdessen den folgenden Code:
TextBox1.Text = "Bob"
Wenn ein Objekt Code zuordnen, der Code eines der Ereignisse des Objekts gehört. In vielen Beispielen dieses Artikels hängen Sie Code an dasClick -Ereignis des Befehlsschaltflächen -Objekts.

Label-Steuerelemente

Label -Steuerelemente werden hauptsächlich verwendet, um andere Steuerelemente auf einer UserForm zu beschreiben. Ein Label -Steuerelement kann vom Benutzer nicht bearbeitet werden, während die UserForm ausgeführt wird. Verwenden Sie die Caption -Eigenschaft festlegen oder den Text in einem Bezeichnungsfeld -Steuerelement zurückgeben. Andere häufig verwendeten Eigenschaften für ein Label -Steuerelement formatieren sowie die Font -Eigenschaft der ForeColor -Eigenschaft.

Verwendung eine WITH-Anweisung ein Label-Steuerelement formatieren

Um die WITH -Anweisung die Eigenschaften eines Label -Steuerelements zu ändern, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Fügen Sie ein Label -Steuerelement auf dem Benutzerformular.
  5. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  6. Doppelklicken Sie auf CommandButton -Steuerelement Toopen das Codefenster für die UserForm.
  7. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    With Label1        ' Set the text of the label.        .Caption = "This is Label Example 1"        ' Automatically size the label control.        .AutoSize = True        .WordWrap = False        ' Set the font used by the Label control.        .Font.Name = "Times New Roman"        .Font.Size = 14        .Font.Bold = True        ' Set the font color to blue.        .ForeColor = RGB(0, 0, 255)    End WithEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  9. Klicken Sie auf die Befehlsschaltfläche.
Der Text "This is Label Example 1" auf das Label -Steuerelement fett Times New Roman mit einem Schriftgrad von 14 wird.

TextBox-Steuerelemente

TextBox -Steuerelemente werden häufig verwendet, um Benutzereingaben zu sammeln. Die Text -Eigenschaft enthält Posten, die in einem TextBox -Steuerelement besteht.

Verwendung ein TextBox-Steuerelements zum Überprüfen eines Kennworts

Wenn die PasswordChar -Eigenschaft eines TextBox -Steuerelements festgelegt, wird ein Steuerelement "maskierte bearbeiten". Jedes im Steuerelement eingegebene Zeichen wird visuell durch das Zeichen ersetzt, die Sie angeben. Um ein TextBox -Steuerelement verwenden, um ein Kennwort zu überprüfen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Fügen Sie ein TextBox -Steuerelement auf dem Benutzerformular.
  5. Klicken Sie im Menü Ansicht aufEigenschaften , um das Eigenschaftenfenster einzublenden.
  6. Geben Sie in die PasswordChar -Eigenschaft des TextBox -Steuerelements *.

    Hinweis Ändern Sie den Wert ein Sternchen.
  7. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  8. Doppelklicken Sie auf CommandButton -Steuerelement Toopen das Codefenster für die UserForm.
  9. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    If TextBox1.Text <> "userform" Then        MsgBox "Password is Incorrect. Please reenter."        TextBox1.Text = ""        TextBox1.SetFocus    Else        MsgBox "Welcome!"        Unload Me    End IfEnd Sub
  10. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  11. Geben Sie das Kennwort UserForm im TextBox -Steuerelement.
  12. Klicken Sie auf die Befehlsschaltfläche.
In diesem Beispiel wird das Kennwort "Userform". Wenn Sie ein falsches Kennwort eingeben, wird ein Meldungsfeld angezeigt, die besagt, dass Ihr Kennwort falsch ist, das TextBox -Steuerelement deaktiviert ist, und dann können Sie das Kennwort erneut ein. Wenn Sie ein Kennwort eingeben, wird eine Willkommensseite angezeigt, und die UserForm geschlossen.

Klicken Sie für Weitere Informationen auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
213555 XL2000: Keine Daten Validierungseigenschaft für UserForm TextBoxes

CommandButton-Steuerelemente

CommandButton -Steuerelements können Sie um eine VBA-Prozedur zu starten. Die VBA-Prozedur gehört normalerweise das Click -Ereignis des Befehlsschaltflächen -Steuerelements. Gehen Sie folgendermaßen vor, um ein CommandButton -Steuerelement zu verwenden, das eine Prozedur ausführt, tritt das Click -Ereignis:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  5. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für die UserForm.
  6. Geben Sie in das Codefenster den folgenden Code:
    Private Sub CommandButton1_Click()    red = Int(Rnd * 255)    green = Int(Rnd * 255)    blue = Int(Rnd * 255)    CommandButton1.BackColor = RGB(red, green, blue)End Sub 
  7. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Die Hintergrundfarbe des Steuerelements CommandButton1 ändert sich jedes Mal, wenn Sie darauf klicken.

Weitere Informationen zu CommandButton-Steuerelementen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base anzeigen:
213572 XL2000: Durch Abbrechen-Schaltfläche nicht geschlossen
213743 XL2000: Festlegen die standardmäßigen Befehlsschaltfläche auf einer UserForm

ListBox-Steuerelementen

Das ListBox -Steuerelement dient, Benutzer mit einer Liste von Elementen auswählen. Sie können die Elementliste für ein ListBox -Steuerelement in einem Excel-Arbeitsblatt speichern. Füllen Sie eine ListBox -Steuerelement mit einem Bereich von Zellen in einem Arbeitsblatt mithilfe der Datensatzherkunft -Eigenschaft. Wenn die MultiSelect -Eigenschaft verwenden, können Sie ein ListBox -Steuerelement einrichten, mehrere Auswahlmöglichkeiten zuzulassen.

So erhalten Sie das aktuell ausgewählte Element aus dem ListBox-Steuerelement

Verwenden Sie die Value -Eigenschaft eines ListBox -Steuerelements, um das aktuell ausgewählte Element zurückzugeben. Gehen Sie folgendermaßen vor, um das aktuell ausgewählte Element aus einem ListBox -Steuerelement zurückzugeben:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung das ListBox -Steuerelement füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  6. Doppelklicken Sie auf das ListBox -Steuerelement auswertungslaufs das Codefenster für das ListBox -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das ListBox1 Click -Ereignis:
    Private Sub ListBox1_Click()    MsgBox ListBox1.ValueEnd Sub 
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Ein Element in der Liste klicken, wird ein Meldungsfeld mit dem aktuell ausgewählten Element.

Gewusst wie: Abrufen der ausgewählten Elemente in einem ListBox-Steuerelement mit mehreren

In einem Listenfeld mit Mehrfachauswahl ausgewählten Elemente zu bestimmen, müssen durchlaufen Sie alle Elemente in der Liste und dann Abfragen die Selected -Eigenschaft. Gehen Sie folgendermaßen vor, um die ausgewählten Elemente in einem Listenfeld mit Mehrfachauswahl zurückgeben:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung das ListBox -Steuerelement füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  6. Klicken Sie im Menü Ansicht aufEigenschaften , um das Eigenschaftenfenster anzuzeigen.
  7. Geben Sie die Werte für ListBox -Steuerelementeigenschaften angegeben werden:
       Property	   Value   -----------     -----------------------   MultiSelect	   1 - frmMultiSelectMulti   RowSource	   Sheet1!A1:A8
  8. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  9. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für die UserForm.
  10. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Sub CommandButton1_Click ()       ' Loop through the items in the ListBox.       For x = 0 to ListBox1.ListCount - 1          ' If the item is selected...          If ListBox1.Selected(x) = True Then             ' display the Selected item.             MsgBox ListBox1.List(x)          End If       Next x    End Sub 
  11. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  12. Wählen Sie ein oder mehrere Elemente in der Liste.
  13. Klicken Sie auf "CommandButton1".
Nach dem Klicken auf "CommandButton1"wird jedes Element im ListBox -Steuerelement in einem separaten Meldungsfeld angezeigt. Nachdem alle ausgewählten Elemente in einem Meldungsfeld angezeigt werden, wird die UserForm automatisch geschlossen.

Verwendung die RowSource-Eigenschaft ein ListBox-Steuerelement mit Zellen in einem Arbeitsblatt auffüllen

Um die RowSource -Eigenschaft verwenden, um ein ListBox -Steuerelement aus einem Zellbereich in einem Arbeitsblatt zu füllen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung das ListBox -Steuerelement füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  6. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  7. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für die UserForm.
  8. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    ListBox1.RowSource = "=Sheet1!A1:A5"End Sub 
  9. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    HinweisListBox1 enthält keine Werte.
  10. Klicken Sie auf "CommandButton1".
ListBox1 wird mit den Werten in den Zellen a1: a5 in Sheet1 gefüllt.

Wie ein Listenfeld mit Werten in einem Array gefüllt

Dieses Beispiel zeigt, wie ein ListBox -Steuerelement mit einer Array-Variablen füllen. Sie müssen die Werte aus dem Array ListBox -Steuerelement ein Element gleichzeitig zuweisen. In der Regel erfordert dieser Vorgang eine Schleifenstruktur wie eine verwendet für... Nächste Schleife. Gehen Sie folgendermaßen vor, um ein ListBox -Steuerelement mit einer Array-Variablen zu füllen:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  5. Klicken Sie im Menü Einfügen aufModul , um ein Modulblatt einzufügen.
  6. Geben Sie in das Codefenster den folgenden Code:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. Im Menü Extras klicken Sie aufMakrosklicken Sie PopulateListBox, und klicken Sie aufAusführen.
PopulateListBox Prozedur erstellt ein einfaches Array und addiert die Elemente im Array zu Listenfeld mit der AddItem -Methode. Dann wird die UserForm angezeigt.

Veranschaulicht einen horizontalen Bereich von Zellen in einem Arbeitsblatt zum Füllen eines ListBox-Steuerelements

Festlegen die Datensatzherkunft -Eigenschaft eines ListBox -Steuerelements zu einem horizontalen Zellenbereich wird nur der erste Wert im Listenfeld angezeigt.

Gehen Sie folgendermaßen vor, um ein ListBox -Steuerelement aus einem horizontalen Zellenbereich zu füllen, mit der AddItem -Methode:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie im A1:E1 Zellen in Sheet1 Werte Verwendung das ListBox -Steuerelement füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  6. Klicken Sie im Menü Einfügen aufModul , um ein Modulblatt einzufügen.
  7. Geben Sie in das Codefenster den folgenden Code:
    Sub PopulateListWithHorizontalRange()    For Each x In Sheet1.Range("A1:E1")        UserForm1.ListBox1.AddItem x.Value    Next        UserForm1.ShowEnd Sub
  8. KlickenSie im Menü Extras klicken Sie aufMakrosund klicken Sie aufPopulateListWithHorizontalRange.
Makroprozedur durchläuft die Zellen a1: E5 in Sheet1 ListBox1 jeweils Werte hinzufügen.

HinweisListBox1 ist nicht auf die Zellen a1: E5 in Sheet1 gebunden.

Mehrere Werte aus einem ListBox-Steuerelement zurückgegeben, das mehrere Spalten mit Daten gebunden ist

Sie können ListBox-Steuerelemente so formatieren, dass mehr als eine Spalte mit Daten angezeigt wird. Dies bedeutet, dass das Listenfeld mehrere Elemente in jeder Zeile der Liste zeigt. Gehen Sie folgendermaßen vor, um mehrere Rückgabewerte aus dem ausgewählten Element in der Liste:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie die folgenden Daten in Zellen, die angegebenen onSheet1 sind:

    A1: JahrB1: RegionC1: Verkauf
    A2: 1996 B2: NordamerikaC2: 140
    A3: 1996B3: SüdC3: 210
    A4: 1997B4: NordamerikaC4: 190
    A5: 1997B5: SüdC5: 195
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Fügen Sie ein Label -Steuerelement auf dem Benutzerformular.
  6. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  7. Maustaste auf ListBox, und klicken Sie dann aufEigenschaften.
  8. Geben Sie ein oder wählen Sie, die für folgende Eigenschaften des ListBox -Steuerelements angegeben werden, wie in der folgenden Tabelle aufgeführten Werte aus:
       Property       Value   ----------------------------   BoundColumn     1   ColumnCount     3   ColumnHeads     True   RowSource       Sheet1!A2:A5
  9. Doppelklicken Sie auf das ListBox -Steuerelement auswertungslaufs das Codefenster für das ListBox -Steuerelement.
  10. Geben Sie in das Codefenster den folgenden Code:
    Private Sub ListBox1_Change()    Dim SourceData As Range    Dim Val1 As String, Val2 As String, Val3 As String        Set SourceRange = Range(ListBox1.RowSource)        Val1 = ListBox1.Value    Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value    Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value        Label1.Caption = Val1 & " " & Val2 & " " & Val3End Sub
  11. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn Sie einen Eintrag im Listenfeld klicken, ändert die Bezeichnung um drei Elemente aus diesem Eintrag angezeigt.

Alle Elemente aus einem ListBox-Steuerelement zu entfernen, das an ein Arbeitsblatt gebunden ist

Deaktivieren Sie zum Entfernen aller Elemente aus einem ListBox -Steuerelement, das an ein Arbeitsblatt gebunden ist, den Wert in der Datensatzherkunft -Eigenschaft. Schritte zum Entfernen von Elementen aus einem ListBox -Steuerelement, das an ein Arbeitsblatt gebunden ist:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung das ListBox -Steuerelement füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  6. Klicken Sie auf das ListBox -Steuerelement und dann auf Eigenschaften.
  7. Geben Sie in der Datensatzherkunft -Eigenschaft Tabelle1! A1: A5.
  8. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  9. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für das CommandButton -Steuerelement.
  10. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    ListBox1.RowSource = ""End Sub
  11. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    ListBox-Steuerelement, das dem Benutzerformular hinzugefügt, wird mit Thevalues gefüllt, die Sie in Sheet1 eingegeben.
  12. Klicken Sie auf "CommandButton1".
Alle Elemente werden von ListBox1entfernt.

Alle Elemente aus einem ListBox-Steuerelement zu entfernen, die nicht an ein Arbeitsblatt gebunden ist

Es gibt keinen einzelnen VBA-Befehl, der alle Elemente aus einem ListBox -Steuerelement entfernt, wenn die Liste nicht an ein Arbeitsblatt gebunden ist. Zum Entfernen aller Elemente aus einem ListBox -Steuerelement, das ein Visual Basic-Array gefüllt wird, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein ListBox -Steuerelement hinzufügen.
  5. Klicken Sie im Menü Einfügen aufModul , um ein Modulblatt einzufügen.
  6. Geben Sie in das Codefenster den folgenden Code:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  8. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für das CommandButton -Steuerelement.
  9. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    For i = 1 To ListBox1.ListCount        ListBox1.RemoveItem 0    Next IEnd Sub
  10. Im Menü Extras klicken Sie aufMakrosklicken Sie PopulateListBox, und klicken Sie aufAusführen.

    Das ListBox -Steuerelement aufgefüllt und anschließend das Benutzerformular angezeigt.
  11. Klicken Sie auf "CommandButton1".
Alle Elemente werden von ListBox1entfernt.

Weitere Informationen über das ListBox-Steuerelement finden Sie in den folgenden Artikeln der Microsoft Knowledge Base anzeigen:
161598 Wie Hinzufügen von Daten zu einem Kombinations- oder Listenfeld in Excel oder Word
211446 XL2000: TextColumn-Eigenschaft zeigt nur die erste Spalte
211896 XL2000: Simulieren für UserForms Kombination Liste Bearbeitungssteuerelement wie
211899 XL2000: Probleme beim Spaltenüberschriften im ListBox-Steuerelement
213721 XL2000: Wie alle Elemente aus einem Listenfeld oder Kombinationsfeld entfernen
213722 XL2000: Wie verwenden die TextColumn-Eigenschaft
213723 XL2000: Wie Werte aus einem Listenfeld zurückgegeben, das mehrere Spalten anzeigt
213746 XL2000: Wie Ausfüllen von Steuerelement mit mehreren Bereichen
213748 XL2000: Wie ein Listenfeld basierend auf einem anderen Listenfeld
213752 XL2000: Die AddItem-Methode verursacht einen Fehler, wenn RowSource datengebunden ist.
213756 XL2000: Verwenden die RemoveItem-Methode mit ListBox oder ComboBox-Steuerelement
213759 XL2000: Wie ermitteln, welche Elemente in einem Listenfeld ausgewählt sind

ComboBox-Steuerelemente

Können Sie das Kombinationsfeld als Dropdown-Listenfeld oder als Kombinationsfeld können einen Wert in einer Liste auswählen oder einen neuen Wert eingeben. Die Style -Eigenschaft bestimmt, ob das Kombinationsfeld als Dropdown Listenfeld oder ein Kombinationsfeld fungiert.

Hinweis Die Beispiele im vorherigen Abschnitt für das ListBox -Steuerelement können auch auf das ComboBox -Steuerelement außer "Gewusst wie: Abrufen der ausgewählten Elemente in einem ListBox-Steuerelement mit Mehrfachauswahl" Beispiel angewendet werden.

Ein neues Element zur Liste hinzufügen, wenn das ComboBox-Steuerelement nicht an ein Arbeitsblatt gebunden ist

Wenn Sie einen Wert eingeben, der nicht bereits in der Liste im Kombinationsfeld ist, sollten Sie den neuen Wert zur Liste hinzuzufügen. Gehen Sie folgendermaßen vor, um den neuen Wert hinzufügen, den im Kombinationsfeld eingegeben, wenn das ComboBox -Steuerelement nicht in das Arbeitsblatt gebunden ist:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein ComboBox -Steuerelement hinzufügen.
  5. Klicken Sie im Menü Einfügen aufModul , um ein Modulblatt einzufügen.
  6. Geben Sie in das Codefenster den folgenden Code:
    Sub PopulateComboBox()     Dim MyArray As Variant     Dim Ctr As Integer     MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")         For Ctr = LBound(MyArray) To Ubound(MyArray)         UserForm1.ComboBox1.AddItem MyArray(Ctr)     Next         UserForm1.Show End Sub
  7. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  8. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für das CommandButton -Steuerelement.
  9. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()     Dim listvar As Variant          listvar = ComboBox1.List         On Error Resume Next     ' If the item is not found in the list...     If IsError(WorksheetFunction.Match(ComboBox1.Value, listvar, 0)) Then         ' add the new value to the list.         ComboBox1.AddItem ComboBox1.Value     End If End Sub
  10. Im Menü Extras klicken Sie aufMakrosklicken Sie PopulateListBox, und klicken Sie aufAusführen.

    Das Kombinationsfeld aufgefüllt und anschließend das Benutzerformular angezeigt.
  11. Geben Sie in das KombinationsfeldMangos oder jeder Wert daher nicht in der Liste.
  12. Klicken Sie auf "CommandButton1".
Der neue Wert, den Sie jetzt eingegeben wird am Ende der Liste angezeigt.

Ein neues Element zur Liste hinzufügen, wenn das Kombinationsfeld an ein Arbeitsblatt gebunden ist

Wenn ein Benutzer einen Wert, der nicht bereits in der Liste im Kombinationsfeld ist eingibt, sollten Sie den neuen Wert zur Liste hinzuzufügen. Fügen Sie den neuen Wert, den im ComboBox -Steuerelement in die Liste eingegeben, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung Kombinationsfeld füllen möchten.
  3. Wählen Sie die Zellen a1: a5 in Sheet1.
  4. Im Menü Einfügen aufNamen, und klicken Sie auf definieren.

    Geben Sie im FeldNamen in der ArbeitsmappeListRange , und klicken Sie dann auf OK. Den definierten Name ListRangewird erstellt. Definierten Namen ListRange können die RowSource -Eigenschaft des ComboBox -Steuerelements zum Arbeitsblatt binden.
  5. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  6. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  7. Die UserForm wird ein ComboBox -Steuerelement hinzufügen.
  8. Geben Sie die Eigenschaften für ComboBox1Tabelle1! ListRange wie dieDatensatzherkunft -Eigenschaft.
  9. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  10. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für das CommandButton -Steuerelement.
  11. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    Dim SourceData As Range    Dim found As Object        Set SourceData = Range("ListRange")    Set found = Nothing    ' Try to find the value on the worksheet.    Set found = SourceData.Find(ComboBox1.Value)        ' If the item is not found in the list...    If found Is Nothing Then        ' redefine ListRange.        SourceData.Resize(SourceData.Rows.Count + 1, 1).Name = "ListRange"        ' Add the new item to the end of the list on the worksheet.        SourceData.Offset(SourceData.Rows.Count, 0).Resize(1, 1).Value _         = ComboBox1.Value        ' Reset the list displayed in the ComboBox.        ComboBox1.RowSource = Range("listrange").Address(external:=True)    End IfEnd Sub
  12. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    Die UserForm wird in Sheet1 angezeigt.
  13. Geben Sie in das Kombinationsfeld einen Wert bereits in der Liste.
  14. Klicken Sie auf "CommandButton1".
Das neue Element, das im Kombinationsfeld eingegeben wird der Liste hinzugefügt und die Liste an das Kombinationsfeld erweitert Zellen a1: a6 beinhaltet.

Die Liste eines ComboBox-Steuerelements anzeigen, wenn die UserForm angezeigt wird

Manchmal kann es hilfreich sein, die Liste eines ComboBox -Steuerelements angezeigt wird, wenn eine UserForm erstmals angezeigt wird. Im folgenden Beispiel wird das Activate -Ereignis der UserForm verwendet Gehen Sie folgendermaßen vor, um die Liste eines ComboBox -Steuerelements anzuzeigen:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a5 in Sheet1 Werte Verwendung Kombinationsfeld füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  5. Die UserForm wird ein ComboBox -Steuerelement hinzufügen.
  6. Geben Sie die Eigenschaften für ComboBox1Tabelle1! A1: A5 wie dieDatensatzherkunft -Eigenschaft.
  7. Doppelklicken Sie auf die UserForm um TheCode Fenster für die UserForm anzuzeigen.
  8. Geben Sie in das Codefenster den folgenden Code für das CommandButton Click -Ereignis:
    Private Sub UserForm_Activate()           ComboBox1.DropDown       End Sub
  9. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Die UserForm wird in Sheet1 und ComboBox1Liste finden.

Die Liste eines ComboBox-Steuerelements anzeigen, wenn Sie in einem anderen ComboBox-Steuerelement eine Auswahl treffen

Um bei einer Entscheidung in einem anderen ComboBox -Steuerelement die Liste eines ComboBox -Steuerelements automatisch anzuzeigen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Geben Sie in die Zellen a1: a10 in Sheet1 Werte Verwendung Kombinationsfeld füllen möchten.
  3. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  4. Klicken Sie im Menü Einfügen aufModul.
  5. Geben Sie der folgenden Code in das Codefenster für das Modul ein:
    Sub DropDown_ComboBox()    UserForm1.ComboBox2.DropDownEnd Sub
  6. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  7. Die UserForm wird ein ComboBox -Steuerelement hinzufügen.
  8. Geben Sie die Eigenschaften für ComboBox1Tabelle1! A1: A5 wie dieDatensatzherkunft -Eigenschaft.
  9. Doppelklicken Sie auf das ComboBox -Steuerelement öffnen Codefenster für das Steuerelement ComboBox .
  10. Geben Sie in das Codefenster für das Steuerelement ComboBox den folgenden Code für das ComboBox Click -Ereignis:
    Private Sub ComboBox1_Click()    Application.OnTime Now, "DropDown_ComboBox"End Sub
  11. Der UserForm ein zweites Kombinationsfeld -Steuerelement hinzufügen.
  12. Geben Sie die Eigenschaften für ComboBox2Tabelle1! A6: A10 wie dieDatensatzherkunft -Eigenschaft.
  13. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn Sie ein Element in der Liste ComboBox1 klicken, wird die Liste für ComboBox2 automatisch.

Weitere Informationen über das ComboBox-Steuerelement finden Sie in den folgenden Artikeln der Microsoft Knowledge Base anzeigen:
161598 Wie Hinzufügen von Daten zu einem Kombinations- oder Listenfeld in Excel oder Word
211446 XL2000: TextColumn-Eigenschaft zeigt nur die erste Spalte
211899 XL2000: Probleme beim Spaltenüberschriften im ListBox-Steuerelement
213717 XL2000: Laufzeitfehler mit einem Kombinationsfeld DropDown-Methode
213718 XL2000: Wie eine Kombinationsfeldliste eine UserForm angezeigt
213721 XL2000: Wie alle Elemente aus einem Listenfeld oder Kombinationsfeld entfernen
213722 XL2000: Wie verwenden die TextColumn-Eigenschaft
213752 XL2000: Die AddItem-Methode verursacht einen Fehler, wenn RowSource ist datengebunden
213756 XL2000: Verwenden die RemoveItem-Methode mit ListBox oder ComboBox-Steuerelement

Frame-Steuerelement

Verwenden Sie ein Rahmen -Steuerelement logisch zusammengehörende Elemente in einem Benutzerformular. Frame -Steuerelemente werden häufig zur OptionButton -Steuerelemente gruppieren.

Wie alle Steuerelemente auf einem Frame-Steuerelement durchlaufen

Verwenden Sie ein für jeden... Nächste Schleife, um alle Steuerelemente in einem Frame -Steuerelement zuzugreifen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein Frame -Steuerelement hinzufügen.
  5. Das Frame -Steuerelement ein Optionsfeld -Steuerelement hinzufügen.

    Wiederholen Sie diesen Schritt, um zwei weitere Optionsfeld -Steuerelemente in das Rahmen -Steuerelement hinzufügen.
  6. Doppelklicken Sie auf das Frame -Steuerelement, um TheCode Fenster für das Frame -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das Frame Click -Ereignis:
    Private Sub Frame1_Click()    Dim Ctrl As Control        For Each Ctrl In Frame1.Controls        Ctrl.Enabled = Not Ctrl.Enabled    NextEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  9. Klicken Sie auf das Frame-Steuerelement in das Benutzerformular.
Ersten Frame -Steuerelement, klicken Sie auf sind die Steuerelemente in das Rahmen -Steuerelement nicht verfügbar. Wenn Sie das Frame -Steuerelement erneut klicken, sind die Steuerelemente wieder verfügbar.

OptionButton-Steuerelement

Gruppen von Optionsfeld -Steuerelementen können Sie eine Auswahl aus einer Gruppe von Optionen. Sie können eine der folgenden Methoden zum Gruppieren von Steuerelementen (OptionButton) :
  • Frame -Steuerelement
  • GroupName -Eigenschaft
Hinweis Der Wert auf den Wert Ja und der Wert True anzugeben, dass ein Optionsfeld ausgewählt ist. Der Wert der No -Wert und den Wert False anzugeben, dass ein Optionsfeld nicht ausgewählt ist.

OptionButton-Steuerelement ermitteln, das ausgewählt ist, wird die OptionButton-Steuerelemente auf einem Frame-Steuerelement

Beim Gruppieren von Optionsfeldern Steuerelemente mithilfe eines Rahmen -Steuerelements können Sie OptionButton -Steuerelement ermitteln, das durch die Steuerelemente in das Rahmen -Steuerelement durchlaufen und überprüfen die Value -Eigenschaft jedes Steuerelements ausgewählt. OptionButton -Steuerelement ermitteln, das aktiviert ist, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein Frame -Steuerelement hinzufügen.
  5. Das Frame -Steuerelement ein Optionsfeld -Steuerelement hinzufügen.

    Wiederholen Sie diesen Schritt, um zwei weitere Optionsfeld -Steuerelemente in das Rahmen -Steuerelement hinzufügen.
  6. Fügen Sie ein CommandButton -Steuerelement im Benutzerformular außerhalb des Frame -Steuerelements.
  7. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für die UserForm.
  8. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()     For Each x In Frame1.Controls         If x.Value = True Then             MsgBox x.Caption         End If     Next End Sub
  9. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  10. In der UserFormauf ein Optionsfeld -Steuerelement und klicken Sie dann auf"CommandButton1".
Ein Meldungsfeld wird angezeigt, die Beschriftung ausgewählte OptionButton -Steuerelement enthält.

OptionButton-Steuerelement ermitteln, das ausgewählt ist

Im folgenden Beispiel soll das OptionButton -Steuerelement ermitteln, das in Group1 ausgewählt ist. Eine UserForm erstellen, die zwei von Optionsfeld -Steuerelementen Gruppen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein Frame -Steuerelement hinzufügen.
  5. Ein Optionsfeld -Steuerelement im Rahmen -Steuerelement hinzufügen.

    Wiederholen Sie diesen Schritt, um zwei weitere Optionsfeld -Steuerelemente in das Rahmen -Steuerelement hinzufügen.
  6. Geben Sie für jedes Optionsfeld -Steuerelement Gruppe1 in der GroupName -Eigenschaft.
  7. Wiederholen Sie die Schritte 4 und 5, um eine zweite Frame -Steuerelement zu erstellen, das drei Optionsfeld -Steuerelemente enthält.
  8. Geben Sie für jedes Steuerelement (OptionButton) im zweiten Frame -Steuerelement Gruppe2 in der GroupName -Eigenschaft.
  9. Fügen Sie ein CommandButton -Steuerelement im Benutzerformular außerhalb der Steuerelemente Frame .
  10. Doppelklicken Sie auf CommandButton -Steuerelement auswertungslaufs das Codefenster für die UserForm.
  11. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()     Dim x As Control          ' Loop through ALL the controls on the UserForm.     For Each x In Me.Controls         ' Check to see if "Option" is in the Name of each control.         If InStr(x.Name, "Option") Then             ' Check Group name.             If x.GroupName = "Group1" Then                 ' Check the status of the OptionButton.                 If x.Value = True Then                     MsgBox x.Caption                     Exit For                 End If             End If         End If     Next End Sub
  12. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
  13. In der UserForm auf ein Optionsfeld -Steuerelement in Gruppe1 und klicken Sie dann auf"CommandButton1".
Ein Meldungsfeld wird angezeigt, das die Beschriftung des Optionsfeld -Steuerelements enthält, das derzeit ausgewählt ist.

Weitere Informationen zu OptionButton-Steuerelementen klicken Sie auf die folgende Artikelnummer der Microsoft Knowledge Base:
213724 XL2000: Probleme mit der TripleState-Eigenschaft für Optionsfeld

CheckBox-Steuerelement

Ein CheckBox -Steuerelement können an dem Wert true oder false. Ein Kontrollkästchen -Steuerelement mit einem Häkchen gibt den Wert Truean. Ein Kontrollkästchen , das kein Häkchen angezeigt wird gibt der Wert False. Der Wert der TripleState -Eigenschaft Trueist, kann ein Kontrollkästchen -Steuerelement auch den Wert Nullhaben. Ein Kontrollkästchen -Steuerelement mit dem Wert null wird nicht angezeigt.

Hinweis Wert auf den Wert Ja und den Wert True angeben, dass ein CheckBox -Steuerelement aktiviert ist. Der Wert der No -Wert und den Wert False anzugeben, dass ein CheckBox -Steuerelement deaktiviert ist.

Wie Sie den Wert eines CheckBox-Steuerelements

Gehen Sie folgendermaßen vor, um die Value -Eigenschaft zu verwenden, um den aktuellen Wert eines CheckBox -Steuerelements:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Fügen Sie ein CheckBox -Steuerelement auf dem Benutzerformular.
  5. Wählen Sie in der Liste Eigenschaften CheckBox1True wie die TripleState -Eigenschaft.
  6. Doppelklicken Sie auf das Kontrollkästchen -Steuerelement auswertungslaufs das Codefenster für das Steuerelement CheckBox .
  7. Geben Sie in das Codefenster den folgenden Code für das Ereignis CheckBox1 Change :
    Private Sub CheckBox1_Change()    Select Case CheckBox1.Value        Case True            CheckBox1.Caption = "True"        Case False            CheckBox1.Caption = "False"        Case Else            CheckBox1.Caption = "Null"    End SelectEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn Sie das CheckBox -Steuerelement die Beschriftung der ändert sich entsprechend den aktuellen Wert klicken.

Umschaltflächen-Steuerelement

Ein ToggleButton -Steuerelement hat genauso dargestellt wie ein CommandButton -Steuerelement, bis Sie darauf klicken. Wenn ein ToggleButton -Steuerelement klicken, scheint es zusammengedrückt oder gestaucht. Die Value -Eigenschaft eines Steuerelements ToggleButton ist true, Wenn die Schaltfläche ausgewählt ist, und False , wenn die Schaltfläche nicht ausgewählt ist. Der Wert der TripleState -Eigenschaft Trueist, kann ein ToggleButton -Steuerelement auch den Wert Nullhaben. Ein Umschaltfeld -Steuerelement mit dem Wert null wird nicht angezeigt.

Hinweis Der Wert auf den Wert Ja und der Wert True anzugeben, dass ein ToggleButton -Steuerelement ausgewählt ist. Der Wert der No -Wert und den Wert False anzugeben, dass ein ToggleButton -Steuerelement nicht aktiviert ist.

So erhalten Sie den Wert eines ToggleButton-Steuerelements

Gehen Sie folgendermaßen vor, um den Wert eines ToggleButton -Steuerelements zu erhalten:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Fügen Sie ein ToggleButton -Steuerelement in das Benutzerformular.
  5. Fügen Sie ein Label -Steuerelement auf dem Benutzerformular.
  6. Doppelklicken Sie auf die Umschaltfeld -Steuerelement Toopen das Codefenster für das Umschaltfeld -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das ToggleButton1Click -Ereignis:
    Private Sub ToggleButton1_Click()    If ToggleButton1.Value = True Then        ' Set UserForm background to Red.        Me.BackColor = RGB(255, 0, 0)    Else        ' Set UserForm background to Blue.        Me.BackColor = RGB(0, 0, 255)    End IfEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn Sie die Hintergrundfarbe der UserForm ändert das Umschaltflächen -Steuerelement klicken.

Gewusst wie: Erstellen einer Gruppe sich gegenseitig ausschließender ToggleButton-Steuerelemente

Dieses Beispiel verwendet das MouseUp -Ereignis eine Variable festlegen und die ExclusiveToggleButtons Prozedur. Die Prozedur ExclusiveToggleButtons bestimmt Umschaltfeld -Steuerelement, das ausgewählt ist, und bricht die anderen. Gehen Sie folgendermaßen vor, um eine Gruppe sich gegenseitig ausschließender ToggleButton -Steuerelemente erstellen:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufModul.
  4. Geben Sie der folgenden Code in das Codefenster für das Modul ein:
    ' Variable that holds the name of the ToggleButton that was clicked.Public clicked As StringSub ExclusiveToggleButtons()   Dim toggle As Control   ' Loop through all the ToggleButtons on Frame1.   For Each toggle In UserForm1.Frame1.Controls       ' If Name of ToggleButton matches name of ToggleButton       ' that was clicked...       If toggle.Name = clicked Then          '...select the button.          toggle.Value = True       Else          '...otherwise clear the selection of the button.          toggle.Value = False       End If    NextEnd Sub
  5. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  6. Die UserForm wird ein Frame -Steuerelement hinzufügen.
  7. Ein ToggleButton -Steuerelement in das Frame -Steuerelement hinzufügen.

    Wiederholen Sie diesen Schritt, um zwei weitere ToggleButton -Steuerelemente in das Rahmen -Steuerelement hinzufügen.
  8. Doppelklicken Sie auf das Frame -Steuerelement Attributspalten Codefenster für die UserForm.
  9. Geben Sie im Codefenster für das Modul die folgenden Codefor ToggleButton MouseUp -Ereignis:
    Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)       clicked = ToggleButton1.Name       Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton2_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton2.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton3_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton3.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub
  10. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn Sie ein ToggleButton -Steuerelement klicken, wird zuvor ausgewählte Umschaltfeld -Steuerelement abgebrochen.

TabStrip-Steuerelement

Verwenden Sie ein Register -Steuerelement unterschiedliche Informationen für eine Gruppe von Steuerelementen anzeigen.

Das Register-Steuerelement programmgesteuert

Um die BackColor -Eigenschaft eines Bild -Steuerelements basierend auf der ausgewählten Registerkarte zu ändern, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie dann auf Visual Basic-Editor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird einem TabStrip -Steuerelement hinzufügen.
  5. Fügen ein Bild -Steuerelement, das die Basis des Register -Steuerelements behandelt, aber behandelt, die keine Registerkarten.
  6. Geben Sie im Eigenschaftenbereich für Image1& H000000FF & in der BackColor -Eigenschaft.
  7. Doppelklicken Sie auf das Register -Steuerelement öffnen Codefenster für das Register -Steuerelement.
  8. Geben Sie in das Codefenster den folgenden Code für das Ereignis TabStrip1 Change :
    Private Sub TabStrip1_Change()    Dim i As Integer    i = TabStrip1.SelectedItem.Index    Select Case i        Case 0            ' If Tab1 is selected, change the color of Image control to Red.            Image1.BackColor = RGB(255, 0, 0)        Case 1            ' If Tab2 is selected, change the color of Image control to Green.            Image1.BackColor = RGB(0, 255, 0)    End SelectEnd Sub
  9. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Die Farbe des Bild -Steuerelements ändert sich abhängig von der Seite des Registersteuerelements aktiv ist .

Um weitere Informationen über das Register-Steuerelement zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
213254 XL2000: Wie Verwenden des Registersteuerelements auf einer UserForm

MultiPage-Steuerelement

Verwenden Sie ein Multiseiten -Steuerelement, um mit einer Menge von Informationen zu arbeiten, die sich in verschiedene Kategorien einteilen lassen. Ein Multiseiten -Steuerelement besteht aus einem oder mehr Seite Objekte, die jeweils einen unterschiedlichen Satz von Steuerelementen enthalten. Sie können die aktive Seite programmgesteuert festlegen, durch die Value -Eigenschaft des Steuerelements (MultiPage) .

Das Multiseiten-Steuerelement programmgesteuert

Gehen Sie folgendermaßen vor, um ein Multiseiten -Steuerelement hinzufügen und mithilfe eines Makros zu steuern:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein Multiseiten -Steuerelement hinzufügen.
  5. Fügen Sie ein Label -Steuerelement auf Page1 auf dem Multiseiten -Steuerelement.
  6. Fügen Sie ein TextBox -Steuerelement zu Page1 des Multiseiten -Steuerelements.
  7. Das Multiseiten -Steuerelement auf Seite2und wiederholen Sie die Schritte 5und 6 ein Label -Steuerelement und ein TextBox -Steuerelement hinzu.
  8. Doppelklicken Sie auf Steuerelementtypen Codefenster für das Multiseiten -Steuerelement öffnen .
  9. Geben Sie in das Codefenster den folgenden Code für das Ereignis MultiPage1 Change :
    Private Sub MultiPage1_Change()    Select Case MultiPage1.Value        ' If activating Page1...        Case 0            Label1.Caption = TextBox2.Text            TextBox1.Text = ""        ' If activating Page2...        Case 1            Label2.Caption = TextBox1.Text            TextBox2.Text = ""    End SelectEnd Sub
  10. Geben Sie in das Codefenster für die UserForm Initialize -Ereignis den folgenden Code ein:
    Private Sub UserForm_Initialize()    ' Force Page1 to be active when UserForm is displayed.    MultiPage1.Value = 0    Label1.Caption = ""End Sub
  11. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    Geben Sie in das Textfeld auf Seite1Test. Wenn Youclick Registerkarte Page2TextBox2 deaktiviert und Beschriftung Label2 ändert den Eintrag TextBox1 auf Seite1 aus ("Test").

Erstellen eine Assistentenschnittstelle mit einem Multiseiten-Steuerelement

Wenn ein Task mehrere aufeinander aufbauende Schritte erfordert, kann eine Assistentenschnittstelle sehr effektiv sein. Das Multiseiten -Steuerelement können Sie um eine Assistentenschnittstelle statt mehrere UserForms zu erstellen. In diesem Beispiel ändert ein Multiseiten -Steuerelement, das drei Seiten verwendet. Eine Prozedur, die das Initialize -Ereignis der UserForm zugeordnet ist, deaktiviert Page2 und Page3 und erzwingt, dass Page1 des Steuerelements Multiseiten aktiv sein.

Hinweis Wenn Sie die Seiten eines Multiseiten -Steuerelements mithilfe der Pages -Auflistung indizieren, ist die erste Seite in der Auflistung Seite NULL. Dieses Verfahren auch die Beschriftung CommandButton -Steuerelementen und deaktiviert die <> Schaltfläche.

Hinweis Die Prozedur, die das Click -Ereignis der Bezeichnung "CommandButton1" zugeordnet ist, steuert die Funktionalität der der <> Schaltfläche. Die Prozedur, die das Click -Ereignis von "CommandButton2" zugeordnet ist, steuert die Funktionalität der der Weiter &gt; Schaltfläche. Erstellen eine Assistentenschnittstelle mithilfe eines MultiPage -Steuerelements folgendermaßen Sie vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein Multiseiten -Steuerelement hinzufügen.
  5. Maustaste Seite1 , und klicken Sie dann aufNeue Seite Page3 Multiseiten -Steuerelement hinzufügen.
  6. Fügen Sie ein CommandButton -Steuerelement im Benutzerformular nicht das Multiseiten -Steuerelement ist.

    Wiederholen Sie diesen Schritt, um ein zweites CommandButton -Steuerelement in das Benutzerformular hinzufügen.
  7. Doppelklicken Sie auf die UserForm um die Codewindow für die UserForm zu öffnen.
  8. Geben Sie in das Codefenster für die UserForm Initialize -Ereignis den folgenden Code ein:
    Private Sub UserForm_Initialize()    With MultiPage1        ' The next 2 lines disable Page2 & Page3.        .Pages(1).Enabled = False        .Pages(2).Enabled = False        ' Make Page1 the active page.        .Value = 0    End With        ' Set the caption on the CommandButtons.    CommandButton1.Caption = "<Back"    CommandButton1.Enabled = False    CommandButton2.Caption = "Next>"End Sub' Procedure for the "<Back" buttonPrivate Sub CommandButton1_Click()    Select Case MultiPage1.Value        Case 1                                 ' If Page2 is active...            With MultiPage1                .Pages(0).Enabled = True       ' Enable Page1.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(1).Enabled = False      ' Disable Page2.            End With            CommandButton1.Enabled = False     ' Disable Back button.                    Case 2                                 ' If Page3 is active...            With MultiPage1                .Pages(1).Enabled = True       ' Enable Page2.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(2).Enabled = False      ' Disable Page3.   CommandButton2.Caption = "Next>"            End With    End SelectEnd Sub' Procedure for the "Next>" buttonPrivate Sub CommandButton2_Click()    Select Case MultiPage1.Value        Case 0                                  ' If Page1 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(1).Enabled = True        ' Enable Page2.                .Pages(0).Enabled = False       ' Disable Page1.            End With            CommandButton1.Enabled = True       ' Enable Back button.                    Case 1                                  ' If Page2 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(2).Enabled = True        ' Enable Page3.                .Pages(1).Enabled = False       ' Disable Page2.            End With            CommandButton2.Caption = "Finish"   ' Change Next button to Finish.                    Case 2                                  ' If Page3 is active...            MsgBox "Finished!"                  ' User is Finished.            Unload Me                           ' Unload the UserForm.    End SelectEnd Sub
  9. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Beim Klicken auf Weiter &gt;, Seite2 aktiviert und die <> verfügbar wird. Beim Klicken auf Weiter &gt; ein zweites Mal Page3 aktiviert und die Beschriftung "CommandButton2" wird auf "Fertig stellen".

ScrollBar-Steuerelement

Ein Bildlaufleisten -Steuerelement können Sie den Wert ändern, der von einem anderen Steuerelement, z. B. ein Label -Steuerelement angezeigt wird.

Ein Label-Steuerelement ändern, das auf einem ScrollBar-Steuerelement basiert

Um die aktuelle Einstellung der Value -Eigenschaft eines Bildlaufleisten -Steuerelements die Caption -Eigenschaft eines Label -Steuerelements ändern, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein Bildlaufleisten -Steuerelement hinzufügen.
  5. Fügen Sie ein Label -Steuerelement auf dem Benutzerformular.
  6. Doppelklicken Sie auf das ScrollBar -Steuerelement öffnen Codefenster für das ScrollBar -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das Ereignis ScrollBar1 Change :
    Private Sub ScrollBar1_Change()    Label1.Caption = ScrollBar1.ValueEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Beim Blättern mit Bildlaufleiste -Steuerelement wird mit dem aktuellen Wert des Bildlaufleiste -Steuerelements Label1 aktualisiert.

Drehfeld-Steuerelement

Ein Drehfeldsteuerelement wie ein Bildlaufleiste -Steuerelement wird häufig erhöhen oder verringern den Wert eines anderen Steuerelements wie ein Label -Steuerelement verwendet. SmallChange -Eigenschaft bestimmt, wie viel der Wert eines Drehfeld -Steuerelements ändert, wenn darauf geklickt wird.

Ein Drehfeldsteuerelement erhöht oder verringert in einem TextBox-Steuerelement gespeicherte Datum hinzufügen

Fügen Sie ein Drehfeld -Steuerelement erhöht oder verringert in einem TextBox -Steuerelement gespeicherte Datum folgendermaßen Sie vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm wird ein Drehfeld -Steuerelement hinzufügen.
  5. Fügen Sie ein TextBox -Steuerelement auf dem Benutzerformular.
  6. Doppelklicken Sie auf das Drehfeld -Steuerelement Toopen das Codefenster für das Drehfeld -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das SpinButton1 SpinUp -Ereignis:
    Private Sub SpinButton1_SpinUp()    TextBox1.Text = DateValue(TextBox1.Text) + 1End Sub
  8. Geben Sie in das Codefenster den folgenden Code für das SpinButton1 SpinDown -Ereignis:
    Private Sub SpinButton1_SpinDown()    TextBox1.Text = DateValue(TextBox1.Text) - 1End Sub
  9. Geben Sie in das Codefenster für die UserForm Initialize -Ereignis den folgenden Code ein:
    Private Sub UserForm_Initialize()    TextBox1.Text = DateEnd Sub
  10. Klicken Sie im Menü Ausführen auf RunSub-UserForm.
Wenn die UserForm angezeigt wird, wird das aktuelle Datum in TextBox1angezeigt. Beim Klicken auf das Drehfeld -Steuerelement ist das Datum um einen Tag inkrementiert oder dekrementiert.

In diesem Beispiel die SmallChange -Eigenschaft der Bezeichnung "SpinButton1"ändern wirken Sie die Anzahl der Tage sich nicht Eintrag in TextBox1 durch Anklicken SpinButton1geändert. Die Anzahl an Tagen wird ausschließlich durch die Prozedur bestimmt, die das SpinUp -Ereignis und das SpinButton1SpinDown -Ereignis zugeordnet.

Weitere Informationen zum Drehfeldsteuerelement klicken Sie auf die folgende Artikelnummer der Microsoft Knowledge Base:
213224 XL2000: Visual Basic-Beispiel für ein Drehfeld mit einem Datum

RefEdit-Steuerelement

RefEdit -Steuerelement imitiert das Verhalten von Referenzfeldern, die in Excel integriert sind. Die Value -Eigenschaft können Sie erhalten die aktuellen Zellenadressen ein RefEdit -Steuerelement befinden.

Gewusst wie: Füllen Sie einen Bereich von Zellen des Bereichs mit dem RefEdit-Steuerelement auswählen

Um das RefEdit -Steuerelement verwenden, um Zellen zu füllen, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Die UserForm ein RefEdit -Steuerelement hinzufügen.
  5. Die UserForm ein CommandButton -Steuerelement hinzufügen.
  6. Doppelklicken Sie auf CommandButton -Steuerelement Toopen das Codefenster für das CommandButton -Steuerelement.
  7. Geben Sie in das Codefenster den folgenden Code für das CommandButton1 Click -Ereignis:
    Private Sub CommandButton1_Click()    Dim MyRange As String    MyRange = RefEdit1.Value    Range(MyRange).Value = "test"    Unload MeEnd Sub
  8. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    Die UserForm wird eingeblendet.
  9. Klicken Sie in das RefEdit -Steuerelement.

    Beachten Sie, das das Benutzerformular reduziert wird.
  10. Wählen Sie einen Zellbereich z. B. a1: a5, und dann auf Imagedatei im RefEdit -Steuerelement die UserForm wieder einzublenden.
  11. Klicken Sie auf "CommandButton1".
Die UserForm wird geschlossen und die ausgewählte Zellen enthalten jetzt das Wort "Test".

Weitere Informationen über das RefEdit-Steuerelement klicken Sie auf die folgende Artikelnummer der Microsoft Knowledge Base:
213776 XL2000: Wie Sie das RefEdit-Steuerelement mit einer UserForm

Bild-Steuerelement

Das Image -Steuerelement dient, ein Bild auf einer UserForm anzuzeigen. Um ein Bild -Steuerelement zur Laufzeit ein Bild zuzuordnen, verwenden Sie die LoadPicture -Funktion.

Gewusst wie: Laden eines Bildes in einem Bild-Steuerelement

Wenn Sie ein Bildsteuerelement einfügen, die fordert Sie auf, wählen ein Bild laden, wenn Sie das Bildsteuerelement klicken, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel, und öffnen Sie eine neue leere Arbeitsmappe.
  2. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  3. Klicken Sie im Menü Einfügen aufUserForm , um eine UserForm in Ihre Arbeitsmappe einzufügen.
  4. Fügen Sie ein Bild -Steuerelement in das Benutzerformular.
  5. Doppelklicken Sie auf das Bildsteuerelement TheCode Fenster für das Image -Steuerelement öffnen .
  6. Geben Sie in das Codefenster den folgenden Code für das Image1 Click -Ereignis:
    Private Sub Image1_Click()    Dim fname As String        ' Display the Open dialog box.    fname = Application.GetOpenFilename(filefilter:= _            "Bitmap Files(*.bmp),*.bmp", Title:="Select Image To Open")        ' If you did not click Cancel...    If fname <> "False" Then        ' Load the bitmap into the Image control.        Image1.Picture = LoadPicture(fname)        ' Refresh the UserForm.        Me.Repaint    End IfEnd Sub
  7. Klicken Sie im Menü Ausführen auf RunSub-UserForm.

    Die UserForm wird angezeigt.
  8. Klicken Sie auf das Bild -Steuerelement.

    WennSie auf das Bildsteuerelement Select Image To Open Dialogfeld wird angezeigt , und wählen Sie eine Bitmapdatei Control einzufügen.
Weitere Informationen über das Image-Steuerelement klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
213732 XL2000: Verwendung der LoadPicture-Funktion mit einem Bild-Steuerelement

Weitere Informationen

Der Objektkatalog

Eine vollständige Liste aller Eigenschaften und Methoden für einen bestimmten Befehl steht im Objektbrowser. Gehen Sie folgendermaßen vor, um diese Informationen in Excel zu suchen:
  1. Im Menü Extras aufMakround klicken Sie auf Visual BasicEditor.
  2. Klicken Sie im Menü Ansicht auf Objektbrowser.
  3. Namen Sie im Feld Text suchen den des gewünschten Steuerelements und klicken Sie auf Suchen.
Weitere Informationen zur Verwendung der Objektkatalog im Visual Basic-Editor klicken Sie auf Microsoft Visual Basic-Hilfe im Hilfemenü , Typ Objektkatalog in den Office- oder Antwort-Assistenten und klicken Sie dann auf Suchen , um das Thema anzuzeigen.
Weitere Informationen zum Installieren Microsoft Excel-Hilfe auf Ihrem Computer finden Sie im folgenden Artikel der Microsoft Knowledge Base:
231946 OFF2000: Wie Sie Hinzufügen/Entfernen einzelner Office-Programme oder Komponenten

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 829070 – Letzte Überarbeitung: 05/01/2016 20:30:00 – Revision: 13.0

Microsoft Office Excel 2003, Microsoft Excel 2010, Microsoft Office Excel 2007, Excel 2016, Microsoft Excel 2013

  • kbprogramming kbfunctions kbhowtomaster kbhowto kbmt KB829070 KbMtde
Feedback