InputBox in Excel VBA
In diesem Tutorial zeige ich Euch wie Ihr eine einfach InputBox benutzen könnt, um Euch eine Eingabe vom Nutzer reinzuholen. Hier könnt Ihr sogar festlegen welche Art von Eingabe überhaupt möglich ist. Zum Beispiel Zahlen, Formeln oder auch nur einen Zellbereich. Das Ergebnis dieser Eingabe könnt Ihr dann in Eurem Script ohne Probleme weiterverarbeiten.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
InputBox mit Zeilenumbruch in Excel VBA
Im unteren Script erstelle ich eine einfache InputBox mit Titel und Beschreibung.
Einfache Input Box in Excel VBAWenn Ihr umfangreichere Eingaben möchtet solltet Ihr mal schauen was alles mit Formulare erstellt werden kann. Wer es aber recht einfach und vor allem schnell haben will benutzt mal eben die InfoBox. Das Coole ist, dass hier auch festgelegt werden kann welche Eingaben vom Nutzer gemacht werden müssen. Ihr könnt also festlegen ob zum Beispiel Zahlen, eine Formel oder ein Zellbezug eingegeben werden muss. Diese sogenannten Type Argumente könnt Ihr hier finden: Type Argumente
Beispielscript: InfoBox für Zahlen in Excel VBA
In diesem Beispiel wird eine einfache Infobox erstellt die eine Zahl abfragen soll.
Hier habe ich zuerst eine Variable als Integer deklariert.
Anschließend erstelle ich die InputBox. Hier ist wichtig das Application voranzustellen, weil Ihr sonst den Type nicht auswählen könnt. Mit Type könnt Ihr nämlich festlegen welche Eingabe erforderlich ist. Etwas weiter oben steht der Link zu den Type Argumenten die es so gibt. Type:=1 bedeutet dass wir nur Zahlen für unsere Eingabe akzeptieren. Das Ergebnis der Eingabe wird dann der Variablen Ergebnis zugewiesen und in der nachfolgenden Zeile an Zelle B2 ausgegeben.
Ihr könnt übrigens auch schon eine Vorgabe in das Eingabefeld schreiben. Das sieht dann so aus:
Application.InputBox("Bitte wähle eine Zelle aus", "Mein Titel", "Eure Vorgabe im Textfeld", Type:=1)
Option Explicit Sub InputBoxTutorial() Dim Ergebnis As Integer Ergebnis = Application.InputBox("Bitte wähle eine Zelle aus", "Mein Titel", Type:=1) Range("B2").Value = Ergebnis End Sub
Beispielscript: InfoBox für Zellbereich in Excel VBA
In diesem Beispiel wird eine einfache Infobox erstellt die einen Zellbereich abfragen soll. Wenn Ihr einen Zellbereich abfragen wollt müsst Ihr die Variable Ergebnis etwas anders deklarieren da es sich um ein Objekt handelt. Hier verwende ich Dim Ergebnis As Range. Wenn Ihr dann anschließend das Ergebnis aus der Box erhalten wollt, müsst Ihr Set Ergebnis bei der Zuweisung schreiben weil Ihr sonst einen Fehler erhaltet. Als Type braucht Ihr dann noch die 8.
Option Explicit Sub InputBoxTutorial() Dim Ergebnis As Range Set Ergebnis = Application.InputBox("Bitte wähle eine Zelle aus", "Mein Titel", Type:=8) Range("B2").Value = Ergebnis.Address End Sub