VBA InputBox - Eingabe von einem Benutzer in einem Makro abrufen - VBA-Codebeispiele

In diesem Tutorial wird gezeigt, wie Sie mit dem VBA-Eingabefeld Eingaben von einem Benutzer erhalten.

Die VBA-Eingabefeld ermöglicht es uns, den Benutzer zur Eingabe von Informationen aufzufordern. Die Informationen können dann in unserem VBA-Code oder in einem Excel-Arbeitsblatt verwendet werden.

Das VBA-Eingabefeld mit einer Variablen

Wir können in unserem VBA-Code eine Variable deklarieren, die dann die Informationen speichert, die in das Eingabefeld eingegeben werden. Wir können diese Variable dann in unserem Code verwenden.

Abhängig von der Art der Informationen, die wir aus dem Eingabefeld zurückgeben möchten, können wir einen bestimmten Variablentyp deklarieren, um entweder Text (eine String- oder Variantenvariable) oder eine Zahl (eine Integer-, Long-, Double- oder Single-Variable) zurückzugeben.

Die String-Variable mit einem Eingabefeld

So können Sie eine InputBox erstellen, in der die Daten in eine String-Variable zurückgegeben werden.

123 Dim strInput als StringstrInput = InputBox("Das ist meine InputBox", "MyInputTitle", "Geben Sie Ihren Eingabetext HIER ein")

Beachten Sie, dass wir zuerst eine Variable deklarieren. Dieser Variablen wird der vom Benutzer eingegebene Wert zugewiesen. Wir haben den Variablentyp String verwendet, damit das Eingabefeld Textzeichenfolgen akzeptiert (die alle alphanumerischen Zeichen enthalten).

Die Zahlenvariable mit einem Eingabefeld

Wenn Sie eine Zahlenvariable deklarieren, müssen Sie nur eine Zahl in das Eingabefeld eingeben.

12 iInput als Integer dimmeniInput = InputBox("Bitte geben Sie eine Zahl ein", "Rechnungsnummer erstellen", 1)

Zuerst deklarieren wir die Zahlvariable als Integer-Variable. Wir können dann auch einen Standardwert von 1 in das Eingabefeld eingeben.

Wenn wir statt einer Zahl einen String eingeben und dann auf OK klicken, erhalten wir einen Typ-Mismatch-Fehler, da eine Zahlenvariable keinen String akzeptiert.

Holen Sie sich Input von einem Benutzer

Hier ist ein weiteres Beispiel mit den beliebtesten Funktionen einer InputBox.

Der folgende Code macht drei Dinge:

1. Fordert mit einer InputBox zur Eingabe auf und weist sie einer Variablen zu

2. Überprüft die Eingabe, sonst verlässt das Unter

3. Gibt die Eingabe in einer Messagebox zurück

12345678910111213 Öffentliche Sub MyInputBox()Dim MyInput As StringMyInput = InputBox("Das ist meine InputBox", "MyInputTitle", "Geben Sie Ihren Eingabetext HIER ein")If MyInput = "Geben Sie Ihren Eingabetext HIER ein" Oder MyInput = "" ThenAbo beendenEnde WennMsgBox "Der Text von MyInputBox ist " & MyInputEnd Sub

Zurückgeben der Eingabe in eine Excel-Tabelle

Sie können die Eingabe, die Sie in ein Eingabefeld eingeben, in eine bestimmte Zelle in Ihrem Excel-Blatt zurückgeben.

1 Range("P1") = InputBox("Bitte Namen eingeben", "Namen eingeben", "Namen HIER eingeben")

Wir können Eingabedaten auch mithilfe einer Variablen an eine Excel-Tabelle zurückgeben.

12345678910 Sub EnterNumber()Bei Fehler Fortsetzen als nächstesdblAmount als Double dimmendblAmount = InputBox("Bitte geben Sie den erforderlichen Betrag ein", "Betrag eingeben")Wenn dblAmount 0 DannRange("A1") = dblAmountAndersMsgBox "Sie haben keine Nummer eingegeben!"Ende WennEnd Sub

Im obigen Beispiel müssen wir eine Zahl eingeben. Geben wir eine Zahl ein, dann ist die Variable dblAmount fügt die Zahl in die Excel-Tabelle in Zelle A1 ein. Wenn wir jedoch keine Nummer eingeben, werden wir in einem Meldungsfeld darüber informiert, dass wir keine Nummer eingegeben haben und nichts in Zelle A1 eingefügt wird.

Verwenden von VBA InputBox in Access VBA

Das VBA-Eingabefeld funktioniert in Access genauso wie in Excel, wenn Benutzereingaben in Form eines Meldungsfelds zurückgegeben werden.

Wenn Sie jedoch die Benutzereingabe an die Datenbank zurückgeben möchten, müssen Sie das Recordset-Objekt anstelle des Range-Objekts verwenden, wie es in Excel verwendet wird.

1234567891011121314 Sub EnterRechnungsnummer()Dim dbs als DatenbankZuerst als Recordset dimmenSetze dbs = CurrentDbSetze rst = dbs.OpenRecordset("tblMatters", dbOpenDynaset)Mit rst.Neue hinzufügen!InvNo = InputBox("Bitte geben Sie die Rechnungsnummer ein", "RECHNUNGSNUMMER GENERATION", 1).AktualisierenEnde mitzuerst.SchließenSetze zuerst = NichtsSetze dbs = NichtsEnd Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave