VBA InputBox Funktion - Wie erstelle ich InputBox & speichere Werte?

Inhaltsverzeichnis

Excel VBA InputBox

VBA InputBox ist eine integrierte Funktion, die verwendet wird, um einen Wert vom Benutzer abzurufen. Diese Funktion verfügt über zwei Hauptargumente, von denen eines die Überschrift für das Eingabefeld und das andere die Frage für das Eingabefeld ist. Die Eingabefeldfunktion kann nur die eingegebenen Datentypen speichern welche es Variable halten kann.

In Excel verwenden wir häufig die Daten, die bereits in der Excel-Tabelle enthalten sind. Manchmal benötigen wir auch Eingabedaten von Benutzern. Insbesondere in VBA sind häufig Eingaben des Benutzers erforderlich.

Mit der InputBox können wir die Daten vom Benutzer abrufen und für unseren Zweck verwenden. Eine InputBox fordert den Benutzer auf, den Wert durch Anzeigen der InputBox einzugeben.

Syntax

  • Eingabeaufforderung: Dies ist nichts anderes als die Nachricht an den Benutzer über ein Eingabefeld.
  • Titel: Wie lautet der Titel des Eingabefelds?
  • Standard: Was ist der Standardwert der Eingabebox? Dieser Wert wird im Eingabebereich des Eingabefelds angezeigt.

Diese drei Parameter sind in Excel gut genug. Ignorieren Sie die anderen 4 optionalen Parameter. Um diese Syntax zu verstehen, sehen Sie sich den folgenden Screenshot an.

Wie erstelle ich eine InputBox in VBA?

Ok, lassen Sie uns direkt zur Praktikabilität springen. Führen Sie die folgenden Schritte aus, um Ihre erste Eingabebox zu erstellen.

Schritt 1: Gehen Sie zu VBE (Visual Basic Editor) und fügen Sie ein neues Modul ein.

Schritt 2: Doppelklicken Sie auf das eingefügte Modul und erstellen Sie einen Makronamen.

Schritt 3: Geben Sie das Wort "InputBox" ein. Es werden verwandte Optionen angezeigt.

Schritt 4: Wählen Sie das Eingabefeld aus und geben Sie Platz ein. Die Syntax des Eingabefelds wird angezeigt.

Schritt 5: Geben Sie die Eingabeaufforderung als "Bitte geben Sie Ihren Namen ein."

Schritt 6: Geben Sie den Titel des Eingabefelds als "Persönliche Informationen" ein.

Schritt 7: Geben Sie den Standardwert als "Hier eingeben" ein.

Schritt 8: Wir sind fertig. Führen Sie diesen Code aus und sehen Sie Ihr erstes Eingabefeld.

Speichern Sie den Wert von InputBox in Zellen

Jetzt werden wir den Prozess des Speicherns von Werten in Zellen durchlaufen. Befolgen Sie die folgenden Schritte.

Schritt 1: Deklarieren der Variablen als Variante.

Code:

Sub InputBox_Example () Dim i As Variant End Sub

Schritt 2: Weisen Sie für diese Variable den Wert über das Eingabefeld zu.

Code:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Bitte geben Sie Ihren Namen ein", "Persönliche Informationen", "Geben Sie hier ein") End Sub

Hinweis: Sobald das Eingabefeld rechts vom Gleichheitszeichen steht, müssen wir die Argumente oder die Syntax wie bei unseren regulären Formeln in Klammern eingeben.

Schritt 3: Unabhängig vom in das Eingabefeld eingegebenen Wert müssen wir ihn nun in Zelle A1 speichern. Schreiben Sie dazu den Code als Bereich („A1“). Wert = i

Code:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Bitte geben Sie Ihren Namen ein", "Personal Information", "Type Here") Bereich ("A1"). Value = i End Sub

Ok, wir sind fertig. Lassen Sie uns diesen Code jetzt ausführen, indem Sie die Taste F5 drücken, oder Sie können den Code auch manuell ausführen, wie im folgenden Screenshot gezeigt.

Sobald Sie diesen Code ausführen, wird das Eingabefeld angezeigt.

Geben Sie den Namen ein und klicken Sie auf OK.

Sobald Sie den Namen eingeben und auf OK klicken, wird der Eingabefeldwert in Zelle A1 angezeigt.

Hinweis: Wir können jeden Wert aus dem Eingabefeld speichern, wenn die Variable richtig definiert ist. Im obigen Beispiel habe ich die Variable als Variante definiert, die alle Arten von Daten enthalten kann.

Zum Beispiel habe ich jetzt den Variablentyp in Datum geändert.

Führen Sie nun den Code aus und geben Sie einen anderen als das Datum ein.

Klicken Sie auf OK und sehen Sie, wie die Antwort lautet.

We got the error value as Type mismatch. Since we have declared the variable data type as DATE, we cannot store anything other than DATE with an inputbox.

Now enter the date and see what happens.

As soon as you type the date and then click on OK and see what the response is.

Since we have entered the correct value, we got the result in the cell.

Validation of Input from User

You know what we can actually allow users to enter only specific value i.e., allow the user to enter only text, only number, only logical values, etc.

To perform this task, we need to use the method Application.InputBox.

Let’s look at the syntax of the Application.InputBox.

  • Prompt: This is nothing but the message to the user through an input box.
  • Title: What is the title of the input box?
  • Default: What is the default value of the input box? This value appears in the typing area of the input box.
  • Left: What should be the x position of the input box in the current window?
  • Top: What should be the y position of the inputbox in the current window?

To start this, inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application, put a dot (.) and type Inputbox.

Select the input box and open the bracket.

As usual, enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

Wählen Sie dementsprechend Ihren Typ aus. Ich habe 1 als Parameter ausgewählt, dh nur Zahlen.

Führen Sie nun den Code und die Art des Textwerts aus.

Klicken Sie auf OK und sehen Sie, was passiert.

Es heißt, die Nummer sei ungültig. Wir können also nur Zahlen in dieses Eingabefeld eingeben.

Dinge, an die man sich erinnern sollte

  • Wir benötigen eine Variable, um den vom Eingabefeld angegebenen Wert zu speichern.
  • Wenn Sie InputBox ohne die Application-Methode verwenden, sollten Sie den variablen Datentyp genau kennen.
  • Verwenden Sie den Variant-Datentyp, der jede Art von Datentyp und Speicher enthalten kann.

Interessante Beiträge...