VBA-Eingabefenster – Eingaben vom Benutzer erhalten

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 17, 2022

In diesem Tutorial zeigen wir Ihnen, wie Sie mit dem VBA-Eingabefenster Eingaben von einem Benutzer erhalten können.

Mit dem VBA-Eingabefenster können wir den Benutzer auffordern, Informationen einzugeben. Die Informationen können dann in unserem VBA-Code oder in einem Excel-Arbeitsblatt verwendet werden.

Das VBA-Eingabefenster mit einer Variable

Wir können in unserem VBA-Code eine Variable deklarieren, die dann die in das Eingabefenster eingegebenen Informationen speichert. Diese Variable können wir dann in unserem Code verwenden.

Je nach Art der Informationen, die aus dem Eingabefenster zurückgegeben werden sollen, können wir einen bestimmten Variablentyp, der entweder Text (eine String- oder Variant-Variable) oder eine Zahl (eine Integer-, Long-, Double- oder Single-Variable) zurückgibt, deklarieren.

Die String-Variable mit einem Eingabefenster

So können Sie ein Eingabefenster, in dem die Daten in einer String-Variablen zurückgegeben werden, erstellen.

Dim strEingabe as String

strEingabe = InputBox("Dies ist mein Eingabefenster", "MeinEingabeTitel", "Geben Sie Ihren Eingabetext HIER ein")

vba einfaches eingabefenster

Beachten Sie, dass wir zuerst eine Variable deklarieren. Dieser Variable wird der Wert, den der Benutzer eingibt, zugewiesen. Wir haben den Variablentyp String verwendet, damit das Eingabefenster Textzeichenfolgen (einschließlich aller alphanumerischen Zeichen) akzeptieren kann.

Die Zahlenvariable mit einem Eingabefenster

Wenn Sie eine Zahlenvariable deklarieren, dürfen Sie nur eine Zahl in das Eingabefenster eingeben.

Dim iEingabe As Integer
iEingabe = InputBox("Bitte geben Sie eine Zahl ein", "Rechnungsnummer erstellen", 1)

Zunächst deklarieren wir die Zahlenvariable als Ganzzahlvariable. Dann können wir auch einen Standardwert von 1 in das Eingabefenster eingeben.

vba eingabefenster mit zahlenvariablen

Wenn wir statt einer Zahl eine Zeichenkette eingeben und dann auf OK klickten, würden wir den Fehler „Typen unvertröglich“ bekommen, da eine Zahlenvariable keine Zeichenkette akzeptiert.

vba eingabefenster fehler

 

Eingaben von einem Benutzer erhalten

Hier ist ein weiteres Beispiel, das die beliebtesten Funktionen eines Eingabefensters verwendet.

vba einfaches eingabefenster

 

Der folgende Code führt drei Dinge aus:

1. Er fordert mit einem Eingabefenster zur Eingabe auf und weist sie einer Variablen zu

2. Überprüft die Eingabe, andernfalls wird die Unterprozedur beendet

3. Gibt die Eingabe in einer Meldungsbox zurück

Public Sub MeinEingabefenster()

Dim MeineEingabe As String
MeineEingabe = InputBox("Dies ist mein Eingabefenster", "MeinEingabeTitel", "Geben Sie HIER Ihren Eingabetext ein")


If MeineEingabe = "Geben Sie HIER Ihren Eingabetext ein" Or MeineEingabe = "" Then
  Exit Sub
End If

MsgBox "Der Text von MeinEingabefenster ist " & MeineEingabe

End Sub

Rückgabe der Eingabe in ein Excel-Blatt

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

Range("P1") = InputBox("Bitte geben Sie Ihren Namen ein", "Namen eingeben", "Namen HIER eingeben")

eingabefenster rueckgabe in arbeitsblatt

Wir können Eingabedaten auch über eine Variable an ein Excel-Blatt zurückgeben.

Sub ZahlEingeben()
   On Error Resume Next
   Dim dblBetrag As Double
   dblBetrag = InputBox("Bitte geben Sie den gewünschten Betrag ein", "Betrag eingeben")
   If dblBetrag <> 0 Then
      Range("A1") = dblBetrag
   Else
      MsgBox "Sie haben keine Zahl eingegeben!"
   End If
End Sub

In dem obigen Beispiel müssen wir eine Zahl eingeben. Wenn wir eine Zahl eingeben, dann wird die Variable dblBetrag diese in das Excel-Blatt in Zelle A1 eintragen. Wenn wir jedoch keine Zahl eingeben, erscheint eine Meldung, dass wir keine Zahl eingegeben haben und in Zelle A1 wird nichts eingetragen.

vba eingabefenster benutzerdefinierte fehlermeldung

 

Verwendung von VBA-Eingabefenstern in Access-VBA

Das VBA-Eingabefenster funktioniert in Access genauso wie in Excel, wenn es Benutzereingaben in Form eines Nachrichtenfeldes zurückgibt.

Wenn Sie jedoch die Benutzereingaben an die Datenbank zurückgeben möchten, müssen Sie das Recordset-Objekt und nicht das Range-Objekt wie in Excel verwenden.

Sub RechnungsnummerEingeben()
   Dim dbs As Database
   Dim rst As Recordset
   Set dbs = CurrentDb
   Set rst = dbs.OpenRecordset("tblRechnungen", dbOpenDynaset)
   With rst
      .AddNew
      !InvNo = InputBox("Bitte geben Sie die Rechnungsnummer ein", "GENERIEREN DER RECHNUNGSNUMMER", 1)
      .Update
   End With
   rst.Close
   Set rst = Nothing
   Set dbs = Nothing
End Sub

vba eingabefenster ms access

 

VBA-Programmierung leicht gemacht

Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro, einen VBA-Code-Generator, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu programmieren!

automacro uebersicht eingabebox
Mehr erfahren!

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples