Excel VBA InputBox

Obwohl Sie meistens die Daten verwenden, die bereits bei Ihnen sind, kann es vorkommen, dass der Benutzer Daten wie Name, Alter usw. eingeben soll. Diese Art von Eingabeinformation wird manchmal benötigt, wenn wir eine Umfrage durchführen und die unvoreingenommene Meinung von Menschen überprüfen müssen.

Mit der InputBox von Excel VBA können wir die Eingabedaten vom Benutzer abrufen. Wie der Name schon sagt, fungiert InputBox als Popup-Fenster, in dem der Benutzer aufgefordert wird, bestimmte Informationen einzugeben.

Syntax für VBA InputBox

Das Folgende ist die Syntax für VBA InputBox:

Wo,

  • Eingabeaufforderung - Nachricht, die dem Benutzer angezeigt wird. Dies ist das einzige erforderliche Argument. Andere Argumente sind optional.
  • Titel - Dies ist die Überschrift, die im Dialogfeld nach der erfolgreichen Ausführung der InputBox-Anweisung angezeigt wird. Wenn nicht angegeben, druckt das System standardmäßig "Microsoft Excel" als Titel.
  • Standard - Dies ist der Standardwert, der im Dialogfeld angezeigt wird. Wir können es auch null halten. Für dieses Argument wurde kein Standardwert festgelegt.
  • XPos - Positionskoordinate eines Dialogfelds auf der X-Achse.
  • YPos - Positionskoordinate eines Dialogfelds auf der Y-Achse.
  • HelpFile - Speicherort der Hilfedatei, die verwendet werden soll. Dieses Argument muss festgelegt werden, wenn das Argument 'Context' übergeben wird.
  • Kontext - Stellt die Hilfekontext-ID für die verwendete Hilfedatei dar. Muss verwendet werden, wenn das Argument 'HelpFile' übergeben wird.
  • Von all diesen Argumenten reichen nur die ersten drei aus, um eine InputBox erfolgreich zu erstellen.

Erstellen einer InputBox in Excel VBA

Im Folgenden sind die verschiedenen Schritte zum Erstellen einer InputBox in Excel mithilfe von VBA-Code aufgeführt.

Sie können diese VBA InputBox Excel-Vorlage hier herunterladen - VBA InputBox Excel-Vorlage
  • Öffnen Sie VBE (Visual Basic Editor durch gleichzeitiges Drücken von Alt + F11 in einer Excel-Datei und klicken Sie auf Einfügen und fügen Sie ein neues Modul in VBE hinzu.

  • Erstellen Sie in diesem Modul ein Makro mit dem Namen "Module1". Weisen Sie dem Makro einen Namen zu.

  • Geben Sie den Befehl InputBox in den Editor ein.

Geben Sie die folgenden Eingaben in die InputBox-Anweisung ein:

  • Eingabeaufforderung: "Darf ich Ihren vollständigen Namen kennen?"
  • Titel: "Persönliche Informationen"
  • Vorgabe: „Hier mit der Eingabe beginnen

Code:

 Sub InputBoxEX () InputBox "Darf ich Ihren Namen kennen?", "Persönliche Informationen", "Hier mit der Eingabe beginnen" End Sub 

  • Drücken Sie F5 oder die Ausführen-Taste, um diesen Code auszuführen.

Wie speichere ich die Ausgabe der InputBox in Zellen?

Sie haben die InputBox erstellt, um die Eingabe vom Benutzer abzurufen. Wo wird die Ausgabe jedoch gespeichert? Wir haben keinen Ort angegeben, an dem die Ausgabe gespeichert werden kann.

Speichern wir die Ausgabe, die wir von InputBox erhalten, um Zellen zu übertreffen, indem wir die folgenden Schritte in VBA ausführen:

  • Deklarieren Sie eine neue Variable 'Name' mit dem Typ 'Variant'. Dieser Variablentyp kann einen beliebigen Wert annehmen (numerisch / Zeichenfolge / logisch usw.).

Code:

 Sub InputBoxEX () Dim Name As Variant End Sub 

  • Verwenden Sie InputBox, um dieser Variablen mit dem Namen 'Name' einen Wert zuzuweisen.

Code:

 Sub InputBoxEX () Dim Name As Variant Name = InputBox ("Kann ich Ihren Namen kennen?", "Persönliche Informationen", "Hier mit der Eingabe beginnen") End Sub 

Wenn Sie die Klammer nach der InputBox-Anweisung bemerkt haben könnten, werden diese benötigt, da wir diese Anweisung für eine Variable 'Name' verwenden. Sobald es sich um einen Wert handelt, der für eine Variable angegeben werden soll, muss er in einem geeigneten Format in Klammern angegeben werden.

  • Unabhängig davon, welchen Wert der Benutzer im Dialogfeld eingegeben hat, soll dieser in Zelle A1 der Excel-Tabelle angezeigt werden. Geben Sie für VBE die folgende Anweisung ein: Range ("A1"). Value = Name.

Code:

 Sub InputBoxEX () Dim Name As Variant Name = InputBox ("Kann ich Ihren Namen kennen?", "Persönliche Informationen", "Beginnen Sie hier") Range ("A1"). Value = Name End Sub 

Das ist es, jetzt lassen Sie uns diesen Code ausführen und sehen, wie es funktioniert.

  • Klicken Sie auf die Schaltfläche Ausführen oder drücken Sie F5, um diesen Code auszuführen. Das folgende Dialogfeld wird angezeigt. Schreiben Sie Ihren Namen in das Dialogfeld mit dem Namen „Persönliche Informationen“ und klicken Sie auf OK, um zu sehen, wo die Ausgabe gedruckt wird.

  • Sobald Sie den Wert eingegeben und auf OK geklickt haben, können Sie den in Zelle A1 eingegebenen Wert sehen. Siehe den Screenshot unten.

Jeder Wert kann mit InputBox gespeichert werden, wenn die Variable richtig definiert ist. In diesem Fall haben Sie die Variable 'Name' als 'Variante' definiert. Der Variantendatentyp kann einen beliebigen Datenwert annehmen, wie ich bereits sagte.

Siehe folgendes Beispiel:

Ich gebe dem Dialogfeld eine Nummer als Argument, wenn es erscheint. Siehe unten:

Klicken Sie auf OK, siehe folgende Ausgabe:

Der Wert in Zelle A1 wird in 2019 geändert.

Ändern wir nun den Variablentyp in Datum.

Code:

 Sub InputBoxEX () Dim Name As Date Name = InputBox ("Kann ich Ihren Namen kennen?", "Persönliche Informationen", "Beginnen Sie hier") Range ("A1"). Value = Name End Sub 

Führen Sie den Code aus und versuchen Sie, einen anderen Wert als das Datum einzugeben. Ich werde meinen Namen selbst eingeben und auf OK klicken.

  • Nachdem Sie auf OK geklickt haben, wird eine Laufzeitfehlermeldung mit dem Titel "Typenkonflikt" angezeigt.

Dies ist darauf zurückzuführen, dass der Variablenname jetzt Datum lautet und ich ein anderes Eingabeargument als den Datumswert (einen Zeichenfolgennamen) angegeben habe. Aufgrund dessen führt dieser Code keinen Fehler aus.

Validierung der Benutzereingaben

Was ist, wenn ich Ihnen sage, dass die Benutzereingabe eingeschränkt werden kann? Ja, es ist wahr! Sie können die Benutzereingabe auf Zeichen, Zahlen oder Logik usw. beschränken.

Um die Benutzereingabe einzuschränken, können Sie Application.InputBox verwenden.

Die Syntax für Application.InputBox lautet wie folgt:

Wo,

Eingabeaufforderung - Nachricht, die für den Benutzer angezeigt wird.

Titel - Überschrift des Dialogfelds.

Standard - Standardwert, der im Eingabebereich unter dem Dialogfeld angezeigt wird.

Typ - Die Art der Eingabe.

Dies sind die einzigen wichtigen Argumente, die ausreichen, um diese Anweisung auszuführen.

Beginnen wir dies anhand eines Beispiels.

  • Deklarieren Sie einen Variablennamen als Variant.

Code:

 Sub InputBoxEX () Dim Name As Variant End Sub 

Weisen Sie der Variablen Name Application.InputBox mit den gleichen Argumenten zu, mit denen Sie InputBox verwendet haben. dh Eingabeaufforderung, Titel und Standard. Siehe den Code unten:

Code:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox ("Kann ich Ihren Namen kennen?", "Personal Information", "Start Typing Here") End Sub 

Setzen Sie nun fünfmal ein Komma, um Left, Top, HelpFile und HelpContextID zu ignorieren. Nach 5 Kommas können Sie den Eingabetyp angeben.

Code:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox ("Kann ich Ihren Namen kennen?", "Personal Information", "Start Typing Here",,,,, End Sub 

Der Typ der Eingabezeichenfolge hat die folgenden Validierungen:

  • Wählen wir in unserer Anweisung 1 als Typ. Dies bedeutet, dass im daraufhin angezeigten Dialogfeld nur Zahlen / numerische Werte zulässig sind.

Code:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox ("Darf ich Ihren Namen kennen?", "Personal Information", "Start Typing Here",,,,, 1) End Sub 

  • Führen Sie den Code manuell oder mit der Taste F5 aus und geben Sie den Namen wie unten gezeigt als Eingabe in den Eingabebereich ein. Klicken Sie dann auf OK und sehen Sie die Ausgabe.

Es heißt, die Nummer ist ungültig. Dies erscheint logisch, da wir den variablen Eingabetyp als Zahl festgelegt und den Text als Eingabe bereitgestellt haben, die vom System nicht akzeptiert wird.

Auf diese Weise können Sie den Benutzer einschränken, nur die Werte einzugeben, die Sie über InputBox anzeigen möchten.

Dinge, an die man sich erinnern sollte

  • InputBox akzeptiert bis zu 255 Argumente und kann nur 254 anzeigen. Achten Sie daher auf die maximale Länge, die ein Benutzer eingeben kann.
  • Die Anwendungsmethode kann zum Festlegen des Eingabedatentyps verwendet werden. Wenn es jedoch nicht verwendet wird, müssen Sie den Eingabedatentyp genauer festlegen.
  • Es wird empfohlen, einen varianten Datentyp zu wählen, da dieser einen der folgenden Datentypen enthalten kann: Numerisch / Text / Logisch usw. B = Werte.

Empfohlene Artikel

Dies war eine Anleitung zur VBA InputBox. Hier haben wir das Erstellen von InputBox in Excel mit VBA-Code zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Verwendung der FIND-Funktion in Excel
  2. Erstellen einer VBA-Funktion in Excel
  3. Leitfaden zur Auswahl in Excel
  4. Wie benutze ich die VBA VLOOKUP-Funktion?

Kategorie: