Application.InputBox-Methode (Excel)

Zeigt ein Dialogfeld zur Benutzereingabe. Gibt die in das Dialogfeld eingegeben Informationen zurück.

Syntax

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

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Prompt Erforderlich String Die im Dialogfeld anzuzeigende Meldung. Hierbei kann es sich um eine Zeichenfolge, eine Zahl, ein Datum oder einen booleschen Wert handeln (Microsoft Excel wandelt den Wert automatisch in eine Zeichenfolge um, bevor die Anzeige erfolgt). Die maximale Länge beträgt 255 Zeichen, andernfalls wird keine Eingabeaufforderung angezeigt, und die Anwendungsmethode meldet sofort den Fehler 2015.
Title Optional Variant Der Titel für das Eingabefeld. Wenn Sie dieses Argument nicht angeben, wird der Standardtitel „Eingabe“ verwendet.
Default Optional Variant Gibt einen Wert an, der im Textfeld angezeigt wird, wenn das Dialogfeld zum ersten Mal angezeigt wird. Wenn dieses Argument ausgelassen wird, bleibt das Textfeld leer. Der Wert kann eine Bereich-Objekt sein.
Left Optional Variant Gibt die x-Koordinate für die Dialogfeldposition in Punkt an, und zwar relativ zur linken oberen Bildschirmecke.
Top Optional Variant Gibt die y-Koordinate für die Dialogfeldposition in Punkt an, und zwar relativ zur linken oberen Bildschirmecke.
HelpFile Optional Variant Der Name der Hilfedatei für dieses Eingabefeld. Sind die Argumente HelpFile und HelpContextID vorhanden, wird automatisch eine Schaltfläche ? (Hilfe) im Dialogfeld angezeigt.
HelpContextID Optional Variant Die Kontext-ID des Hilfethemas in HelpFile.
Type Optional Variant Gibt den Datentyp des Rückgabewerts an. Wenn Sie dieses Argument nicht angeben, gibt das Dialogfeld Text zurück.

Rückgabewert

Variant

Bemerkungen

In der folgenden Tabelle sind die Werte aufgeführt, die im Type-Argument übergeben werden können. Kann ein Wert oder eine Summe der Werte sein. Für ein Eingabefeld, das sowohl Text als auch Zahlen akzeptieren kann, legen Sie z. B. Type auf 1 + 2 fest.

Wert Beschreibung
0 Formel
1 Zahl
2 Text (Zeichenfolge)
4 Wahrheitswert (True oder False)
8 Zellbezug, z. B. ein Range -Objekt
16 Fehlerwert, z. B. #NV
64 Ein Wertearray.

Verwenden Sie InputBox, um ein einfaches Dialogfeld so anzuzeigen, dass Sie Informationen eingeben können, die in einem Makro verwendet werden. Das Dialogfeld verfügt über eine Schaltfläche OK und über eine Schaltfläche Abbrechen. Wenn Sie die Schaltfläche OK auswählen, gibt InputBox den in dem Dialogfeld eingegebenen Wert zurück. Wenn Sie die Schaltfläche Abbrechen auswählen, gibt InputBox den Wert False zurück.

Wenn Typ gleich 0 ist, gibt InputBox die Formel in der Form von Text zurück, z. B. =2*PI()/360. Wenn in der Formel Verweise vorhanden sind, werden diese als A1-Bezug zurückgegeben. (Verwenden Sie ConvertFormula für die Konvertierung zwischen Bezugsarten).

Wenn Type 8 beträgt, gibt InputBox ein Range-Objekt zurück. Mithilfe der Set-Anweisung können Sie das Ergebnis wie im folgenden Beispiel einem Range-Objekt zuweisen.

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

Wenn Sie die Set -Anweisung nicht verwenden, wird die Variable auf den Wert im Bereich und nicht auf das Range -Objekt selbst festgelegt.

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

Die InputBox-Methode weicht von der InputBox_Funktion dahingehend ab, dass sie die selektive Überprüfung der Benutzereingabe ermöglicht, und sie kann mit Excel-Objekten, -Fehlerwerten und -Formeln verwendet werden. Beachten Sie, dass Application.InputBox die InputBox-Methode aufruft. InputBox ohne Objektqualifizierer ruft hingegen die InputBox-Funktion auf.

Beispiel

Im folgenden Beispiel wird der Benutzer zur Eingabe einer Zahl aufgefordert.

myNum = Application.InputBox("Enter a number")

In diesem Beispiel wird der Benutzer aufgefordert, eine Zelle in Sheet1 zu markieren. Dabei wird das Type-Argument verwendet, um sicherzustellen, dass der Rückgabewert ein zulässiger Zellbezug (ein Range -Objekt) ist.

Worksheets("Sheet1").Activate 
Set myCell = Application.InputBox( _ 
    prompt:="Select a cell", Type:=8)

In diesem Beispiel wird ein InputBox verwendet, damit der Benutzer einen Bereich auswählen kann, der an die benutzerdefinierte Funktion MyFunction weitergegeben wird. Diese multipliziert drei Werte in einem Bereich miteinander und gibt das Ergebnis zurück.

Sub Cbm_Value_Select()
   'Set up the variables.
   Dim rng As Range
   
   'Use the InputBox dialog to set the range for MyFunction, with some simple error handling.
   Set rng = Application.InputBox("Range:", Type:=8)
   If rng.Cells.Count <> 3 Then
     MsgBox "Length, width and height are needed -" & _
         vbLf & "please select three cells!"
      Exit Sub
   End If
   
   'Call MyFunction by value using the active cell.
   ActiveCell.Value = MyFunction(rng)
End Sub

Function MyFunction(rng As Range) As Double
   MyFunction = rng(1) * rng(2) * rng(3)
End Function

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.