image

In diesem Artikel lernen Sie die Grundlagen von VBA-Benutzerformularen kennen. Ich werde erklären, wie man ein Formular in Excel erstellt, wie man die VBA-Toolbox verwendet, wie man Benutzereingaben behandelt und schließlich wie man die Benutzereingaben speichert. Wir werden dieses Thema anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen. Wenn Sie dies lesen, dann kennen Sie vermutlich die Grundlagen von Excel VBA.

Beginnen wir ohne weitere Verzögerung.

Erstellen Sie ein Formular für Investitionen in Excel und speichern Sie Datensätze

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. Beginnen wir damit.

Entwerfen Sie das Benutzerformular

Öffnen Sie den Visual Basic-Editor in Excel mit der Verknüpfung ALT + F11. Klicken Sie im Projektfeld mit der rechten Maustaste auf VBAProject (Ihre Datei). Wählen Sie in der Einfügeoption UserForm. 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 im Eigenschaftenfeld * in InvestmentForm.

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 Ihrem Formular Elemente hinzuzufügen. Wenn Sie die Toolbox nicht sehen können, rufen Sie sie auf der Registerkarte Ansicht * auf.

Namenselemente *: Das Textfeld, Beschriftungen, Schaltflächen usw. sind Elemente.

Und um sie im VBA-Code zu verwenden, müssen wir ihnen Namen geben. Wir verwenden das Eigenschaftenfenster, 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 „NameBox *“. Machen Sie dasselbe für jedes Element, das Sie verwenden möchten. (Sie müssen keine Beschriftungen benennen, es sei denn, Sie möchten, dass sie anklickbar sind.)

image

Ich habe das Element wie folgt umbenannt und werde diese Namen verwenden, um auf sie 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 in der Form reflektiert.

Der Text, den Sie auf Beschriftungen und Schaltflächen sehen können, ist „Beschriftungen“. Der Name und die Beschriftung des Elements können identisch sein, wenn Sie möchten.

Element

Rename

Name Text Box

NameBox

Age Text Box

AgeBox

Male Option Button

MaleOption

Female Option Button

FemaleOption

Investment Text Box

InvestBox

Submit Command Button

SubmitButton

Cancel Command Button

CancelButton

Benutzerformular dem Benutzer anzeigen: Nachdem das Formular fertig ist, zeigen wir es dem Benutzer. Aber warte, wie mache ich das? Im Arbeitsblatt gibt es keine Option zum Aufrufen des Benutzerformulars. Tatsächlich muss das Benutzerformular ausgelöst werden. Es kann nicht von selbst gezeigt werden. Sie können eine Befehlsschaltfläche, eine Unterroutine oder ein Ereignis verwenden, um das Formular auf dem Bildschirm anzuzeigen.

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

  • Gehen Sie in einem Arbeitsblatt zur Registerkarte Entwickler? Einfügen? Schaltfläche (Formularsteuerung).

Benennen Sie es in offenes Formular um.

  • Klicken Sie mit der rechten Maustaste darauf. Klicken Sie auf Makro zuweisen und dann auf Neu.

image

Ein Sub wird sofort erstellt. Fügen Sie nun diese Zeile zu diesem Sub hinzu.

Sub Open_Form()

'Opening form

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.

image

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. Wenn wir jedoch auf die Schaltfläche „Senden“ klicken, sollten Daten in dieses Blatt eingegeben worden sein, aber es passiert nichts. Weil wir dafür keine vba-Anweisung geschrieben haben. Wir müssen Benutzerformulardaten in einem Blatt speichern. Gehen Sie zurück zu VBA und doppelklicken Sie auf die Schaltfläche Senden. Ein neues Sub wird automatisch erstellt. Dieses Sub ist in das Formular eingebettet und kann in keinem Modul gefunden werden. Dies gilt für jedes Element der Form.

  • Schreiben Sie diesen VBA-Code in dieses Sub.

Private Sub SubmitButton_Click()

Sheet1.Activate

'get first empty row on sheet (read about it here)

lstrow = Cells(Rows.Count, 1).End(xlUp).Row

Set firstEmptyRow = Range("A" & lstrow + 1)

'initialize each cell with data

firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'first cell

firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'first cell to the right

firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'third cell to the right

'checking radio button

If MaleOption.Value = True Then

firstEmptyRow.Offset(0, 2).Value = "Male" 'second cell to the right

Else

firstEmptyRow.Offset(0, 2).Value = "Female" 'second cell to the right

End If

'Closing form

Unload Me

End Sub

Das obige Snipet des VBA-Codes wird ausgeführt, wenn auf die Schaltfläche „Senden“ geklickt wird. Es findet die erste leere Zeile auf dem Blatt und füllt sie mit Werten, die im Formular angegeben sind. Am Ende wird das Formular mit dem Befehl „Unload Me“ geschlossen.

image

Verwenden Sie den Befehl Abbrechen, um das Formular zu schließen. Im Moment ist die Schaltfläche Abbrechen nutzlos. Es tut nichts. Wenn Sie die Eingabe abbrechen möchten, können Sie die Schaltfläche Abbrechen verwenden. In diesem Fall: * Doppelklicken Sie im VBA-Editor auf die Befehlsschaltfläche Abbrechen. Ein neues Sub wird erstellt. Schreiben Sie einfach diese Codezeile, um das Benutzerformular zu schließen.

Private Sub CancelButton_Click()

'Closing form

Unload Me

End Sub

Schließlich sieht der Formularcode so aus.

image

Und das ist es. Auf diese Weise verwenden Sie das Excel vba-Benutzerformular, um Eingaben von Benutzern zu erhalten. In diesem Artikel haben wir uns nur mit der grundlegenden Verwendung von Benutzerformularen befasst, damit Sie sich damit vertraut machen. Es ist einfach, wenn Sie Grundkenntnisse in VBA haben.

In zukünftigen Artikeln werden wir erweiterte Funktionen von vba-Benutzerformularen in Excel untersuchen. Wir werden ein Benutzerformular in Excel erstellen, um viel mehr zu tun.

Wir werden verschiedene Tools und Elemente untersuchen, die für vba userform verfügbar sind.

Bis dahin üben Sie dies. Sie können diese Datei als Referenz herunterladen, wenn Sie möchten.

Also ja Leute, dies war ein kleines und einfaches Tutorial für Benutzerformulare. Ich hoffe es war einfallsreich. Lassen Sie mich wissen, wenn Sie diesbezüglich Zweifel haben. Lassen Sie es mich im Kommentarbereich unten wissen.

Verwandte Artikel

`link: / Benutzerformulare-Eingabefelder-in-vba-ändern-den-Wertinhalt-mehrerer-Benutzerformular-Steuerelemente-unter Verwendung von vba-in-Microsoft-Excel [Ändern Sie den Wert / Inhalt mehrerer UserForm-Steuerelemente Verwenden von VBA in Excel] `

`link: / benutzerformulare-eingabefelder-in-vba-verhindern-das-schließen-eines-benutzerformulars-wenn-der-benutzer-auf-die-x-button-klick-mit-vba-in-microsoft-excel klickt [ Verhindern Sie das Schließen eines Benutzerformulars, wenn der Benutzer mithilfe von VBA in Excel auf die x-Schaltfläche klickt.] `

`link: / user-forms-input-box-in-vba-return-a-userdefined-cell-reference-from-a-dialog-using-vba-in-microsoft-excel [Gibt die vom Benutzer referenzierten Zellen mit RefEdit zurück Kontrolle des Benutzerformulars in Excel] `

Beliebte Artikel:

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel]

link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel]