Erste Schritte mit Excel VBA UserForms

Anonim


In diesem Artikel lernen Sie die Grundlagen von VBA-Benutzerformularen kennen. Ich werde erklären, wie Sie ein Formular in Excel erstellen, wie Sie die VBA-Toolbox verwenden, wie Sie Benutzereingaben verarbeiten und schließlich die Benutzereingaben speichern. Wir werden dieses Thema anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen. Wenn Sie dies lesen, dann gehe ich davon aus, dass Sie die Grundlagen von Excel VBA kennen.
Lassen Sie uns ohne weitere Verzögerung beginnen.
Erstellen Sie ein Formular für Investitionen in Excel und speichern Sie Aufzeichnungen
Wir beginnen mit der Gestaltung des Benutzerformulars. In diesem Benutzerformular haben wir ein Textfeld für den Namen, eines für das Alter, eines für den Investitionsbetrag und ein Paar Optionsfelder für das Geschlecht. Fangen wir an.

Gestalten Sie das Benutzerformular

  • Öffnen Sie den Visual Basic Editor in Excel mit der Tastenkombination ALT+F11. Klicken Sie in der Projektbox mit der rechten Maustaste auf VBAProjekt(deine Datei). In Einfügung Option, wählen Benutzerformular.
  • Sofort wird ein neuer Ordner erstellt und Ihr Benutzerformular wird gefunden. Alle Benutzerformulare für dieses Projekt werden in diesem Ordner hinzugefügt.
  • Ändern Sie den Namen des Formulars in InvestmentForm im Eigentumsbox.
  • Das Eigenschaftsfeld wird unten links im Projektexplorer angezeigt. Wenn Sie es nicht sehen können, gehen Sie zur Ansicht und klicken Sie auf Eigenschaftenfenster. Wir werden es oft verwenden, also stellen Sie sicher, dass es da ist. Es wird zum Gestalten, Benennen und Anpassen von Formularen verwendet.

  • Elemente zum Formular hinzufügen: Im obigen Bild habe ich bereits Elemente hinzugefügt (Beschriftungen, Textfeld, Befehlsschaltfläche). Ein neues Benutzerformular ist jedoch vollständig leer. Sie müssen die Toolbox verwenden, um Elemente zu Ihrem Formular hinzuzufügen. Wenn Sie die Toolbox nicht sehen können, holen Sie sie sich von Aussicht Tab.

  • Fügen Sie Labels mit der Toolbox für beschreibende Namen hinzu. Textfeld für Benutzereingaben hinzufügen.

    Fügen Sie zwei Optionsfelder hinzu und benennen Sie sie Male und Female.

    Ich habe einen Rahmen verwendet, um sie zu kapseln, aber es ist nicht notwendig.

    Befehlsschaltflächen hinzufügen einreichen und Abbrechen um eine Operation an einer gegebenen Eingabe durchzuführen.

  • Namenselemente: Das Textfeld, Beschriftungen, Schaltflächen usw. sind alle Elemente. Und um sie im VBA-Code zu verwenden, müssen wir ihnen Namen geben. Wir verwenden das Eigenschaftsfenster, um ihren Namen zu ändern.
  • Wählen Sie das Element aus. Hier wähle ich das Textfeld für den Namen aus. Gehen Sie zum Eigenschaftsfenster und ändern Sie den Namen in „Namensfeld“. Machen Sie dasselbe für jedes Element, das Sie verwenden werden. (Sie müssen keine Labels benennen, es sei denn, Sie möchten, dass sie anklickbar sind.)


Ich habe das Element wie in der folgenden Tabelle umbenannt und werde diese Namen verwenden, um darauf zu verweisen. Sie können verschiedene Namen haben. Ersetzen Sie diese Namen einfach durch Ihren Namen. Dies sind VBA-Namen (Codename), die im Code verwendet werden. Sie werden nicht im Formular reflektiert.
Der Text, den Sie auf Etiketten und Schaltflächen sehen können, sind „Beschriftungen“. Der Name und die Beschriftung des Elements können gleich sein, wenn Sie möchten.

Element Umbenennen
Textfeld benennen Namensfeld
Textfeld „Alter“ Altersbox
Männlicher Optionsknopf MännlichOption
Weibliche Optionstaste WeiblichOption
Textfeld für Investitionen InvestBox
Befehlsschaltfläche senden SendenButton
Befehlsschaltfläche abbrechen AbbrechenSchaltfläche
  • Benutzerformular für Benutzer anzeigen: Jetzt ist das Formular fertig, wir zeigen es dem Benutzer. Aber warte, wie mache ich das. Im Arbeitsblatt gibt es keine Option zum Aufrufen des Benutzerformulars.
  • Tatsächlich benötigt das Benutzerformular einen Auslöser. Es kann nicht alleine gezeigt werden. Sie können eine Befehlsschaltfläche, eine Unterroutine oder ein Ereignis verwenden, um ein Formular auf dem Bildschirm anzuzeigen.

    Hier werde ich eine Befehlsschaltfläche verwenden, um das Benutzerformular auszulösen.

    • Wechseln Sie auf einem Arbeitsblatt zur Registerkarte Entwickler? Einfügung? Schaltfläche (Formularsteuerelement). Benennen Sie es in offenes Formular um.
    • Klicken Sie mit der rechten Maustaste darauf. Klicken Sie auf Makro zuweisen und dann auf Neu.

  • Es wird sofort ein Sub erstellt. Fügen Sie nun diese Zeile zu diesem Unter hinzu.
Sub Open_Form() 'Eröffnungsformular InvestmentForm.Show End Sub 

Es ist vollbracht. Gehen Sie zurück zu diesem Blatt und klicken Sie auf die Schaltfläche. Das Benutzerformular wird angezeigt.

  • Blatt mit VBA-Benutzerformular ausfüllen: Wenn wir auf die Befehlsschaltfläche (Formular öffnen) geklickt haben, wird das Formular angezeigt. Jetzt können Sie das Formular ausfüllen. Aber wenn wir auf die Schaltfläche "Senden" klicken, sollten Daten auf diesem Blatt eingegeben werden, aber es passiert nichts.

Weil wir dafür keine vba-Anweisung geschrieben haben. Wir müssen Benutzerformulardaten im Blatt speichern.

  • Gehen Sie zurück zu VBA und doppelklicken Sie auf das einreichen Taste. Ein neues Sub wird automatisch erstellt. Dieses Sub ist in das Formular eingebettet und Sie können es in keinem Modul finden. Dies ist für jedes Formularelement gleich.
  • Schreiben Sie diesen VBA-Code in dieses Unter.
 Private Sub SubmitButton_Click() Sheet1.Activate 'erste leere Zeile auf dem Blatt (lesen Sie hier darüber) lstrow = Cells(Rows.Count, 1).End(xlUp).Row Set firstEmptyRow = Range("A" & lstrow + 1 ) 'jede Zelle mit Daten initialisieren firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'erste Zelle firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'erste Zelle rechts firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'dritte Zelle rechts 'checking radio button If MaleOption.Value = True Then firstEmptyRow.Offset(0, 2).Value = "Male" 'zweite Zelle rechts Else firstEmptyRow.Offset( 0, 2).Value = "Female" 'zweite Zelle nach rechts End If 'Formular schließen Unload Me End Sub 

Das obige Snippet des VBA-Codes wird ausgeführt, wenn auf die Schaltfläche zum Senden geklickt wird. Es findet die erste leere Zeile auf dem Blatt und füllt sie mit den im Formular bereitgestellten Werten. Und am Ende schließt es das Formular mit dem Befehl „Unload Me“.

  • Verwenden Sie den Befehl Abbrechen, um das Formular zu schließen. Im Moment ist die Schaltfläche "Abbrechen" nutzlos. Es tut nichts. Falls Sie die Eingabe abbrechen möchten, können Sie die Schaltfläche Abbrechen verwenden. In diesem Fall:

Doppelklicken Sie im VBA-Editor auf die Schaltfläche zum Abbrechen des Befehls. Ein neues Sub wird erstellt. Schreiben Sie einfach diese Codezeile, um das Benutzerformular zu schließen.

 Private Sub CancelButton_Click() 'Formular schließen Unload Me End Sub 

Schließlich sieht der Formularcode so aus.

Und das ist es. So verwenden Sie das Excel-vba-Benutzerformular, um Eingaben von Benutzern zu erhalten. In diesem Artikel haben wir nur die grundlegende Verwendung von Benutzerformularen untersucht, damit Sie sich damit vertraut machen. Es ist einfach, wenn Sie grundlegende vba-Kenntnisse haben.

In zukünftigen Artikeln werden wir erweiterte Funktionen von vba-Benutzerformularen in Excel untersuchen. Wir werden Benutzerformulare in Excel erstellen, um noch viel mehr zu tun. Wir werden verschiedene Tools und Elemente untersuchen, die für vba userform verfügbar sind. Bis dahin übe das. Sie können diese Datei als Referenz herunterladen, wenn Sie möchten.
Also ja Leute, dies war ein kleines und einfaches Userform-Tutorial. Ich hoffe, es war einfallsreich. Lassen Sie es mich wissen, wenn Sie diesbezüglich Zweifel haben, lassen Sie es mich im Kommentarbereich unten wissen.
In Verbindung stehende Artikel

Ändern Sie den Wert/Inhalt mehrerer UserForm-Steuerelemente mit VBA in Excel

Verhindern Sie, dass ein Benutzerformular geschlossen wird, wenn der Benutzer auf die x-Schaltfläche klickt, indem Sie VBA in Excel verwenden

Geben Sie die vom Benutzer referenzierten Zellen zurück, indem Sie das RefEdit-Steuerelement des Benutzerformulars in Excel verwenden
Populäre Artikel:
Die SVERWEIS-Funktion in Excel

ZÄHLENWENN in Excel 2016

So verwenden Sie die SUMIF-Funktion in Excel