VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: InputBox-Methode

Öffnet ein Dialogfeld für eine Benutzereingabe. Zurückgegeben werden die Informationen, die in das Dialogfeld eingegeben wurden.

Syntax

Ausdruck.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

Ausdruck   Erforderlich. Ein Ausdruck, der ein Application-Objekt zurückgibt.

Prompt   String erforderlich. Der Text, der im Dialogfeld angezeigt werden soll. Dies kann eine Zeichenfolge, eine Zahl, ein Datum oder ein boolescher Wert sein. (Vor der Anzeige erzwingt Microsoft Excel automatisch eine Umwandlung dieses Werts in den Datentyp String).

Title   Variant optional. Der Titel für das Eingabefeld. Ohne Angabe dieses Arguments wird der Titel "Eingabe" vorgegeben.

Default   Variant optional. Hier legen Sie einen Wert fest, der bei Aufruf des Dialogfelds im Textfeld vorgegeben wird. Ohne Angabe dieses Arguments bleibt das Textfeld leer. Dieser Wert kann auch ein Range-Objekt sein.

Left   Variant optional. Hier geben Sie die x-Koordinate für die Dialogfeldposition in Punkt an, und zwar relativ zur linken oberen Bildschirmecke.

Top   Variant optional. Hier geben Sie die y-Koordinate für die Dialogfeldposition in Punkt an, und zwar relativ zur linken oberen Bildschirmecke.

HelpFile   Variant optional. Der Name der Hilfedatei für dieses Eingabefeld. Sind die Argumente HelpFile und HelpContextID vorhanden, erscheint automatisch eine Schaltfläche ? im Dialogfeld.

HelpContextID   Variant optional. Die Identifikationsnummer des Hilfethemas in der HelpFile.

Type   Variant optional. Hier geben Sie den Datentyp des Rückgabewertes an. Ohne Angabe dieses Arguments gibt das Dialogfeld Text zurück. Zulässig ist einer der folgenden Werte oder eine Summe dieser Werte:

Wert Bedeutung
0 Formel
1 Zahl
2 Text (Zeichenfolge)
4 Logischer Wert (True oder False)
8 Zellbezug, z. B. ein Range-Objekt
16 Fehlerwert, z. B. #N/A
64 Wertematrix

Sie können die zulässigen Werte für das Type-Argument auch als Summe angeben. Damit etwa in einem Eingabefeld sowohl Text als auch Zahlen eingegeben werden können, setzen Sie Type auf 1 + 2.

Anmerkungen

InputBox eignet sich zur Anzeige eines einfachen Dialogfelds, so dass Informationen eingegeben werden können, die in einem Makro verwendet werden. Ein solches Dialogfeld besitzt je eine Schaltfläche für OK und Abbrechen. Wird auf die OK geklickt, gibt InputBox den Wert des Dialogfeldes aus. Wird auf Abbrechen geklickt, gibt InputBox den Wert False zurück.

Wird das Type-Argument auf 0 gesetzt, gibt InputBox die Formel in Form von Text aus, etwa "=2*PI()/360". Umfasst die Formel Bezüge, so werden diese in der A1-Bezugsart ausgegeben. (Mit ConvertFormula können Sie zwischen den verschiedenen Bezugsarten wechseln.)

Wird das Type-Argument auf 8 gesetzt, gibt InputBox ein Range-Objekt zurück. Mit Hilfe der Set-Anweisung können Sie das Ergebnis, wie im folgenden Beispiel, einem Range-Objekt zuweisen.

Set myRange = Application.InputBox(prompt := "Sample", type := 8)

Ohne eine Set-Anweisung wird die Variable auf den Wert in dem Bereich gesetzt, nicht etwa auf das Range-Objekt selbst.

Wenn Sie die InputBox-Methode dazu verwenden, vom Benutzer eine Formel abzufragen, so müssen Sie die Formel mit Hilfe der FormulaLocal-Eigenschaft einem Range-Objekt zuweisen. Die Eingabe der Formel erfolgt in der Sprache des Benutzers.

Die InputBox-Methode unterscheidet sich von der InputBox-Funktion insofern als es mit ihr möglich ist, die Eingabe des Anwenders auszuwerten und sie mit Microsoft Excel-Objekten, -Fehlerwerten und -Formeln zu verwenden. Beachten Sie, dass Application.InputBox die InputBox-Methode aufruft; InputBox ohne Objektkennzeichner ruft die InputBox-Funktion auf.