User-Input in Makros verwenden

Nicht jeder Prozess kann vollautomatisch ablaufen. In diesem Beitrag findest Du eine Möglichkeit, um User-Input in Deinem Makro weiterzuverwenden. Die Eingabe des Benutzers wird somit als Variable abgespeichert und steht jederzeit zur Verfügung.

Dazu wird innerhalb des Codes der Befehl "Application.InputBox(...)" verwendet. Die Syntax lautet wie folgt:

ApplicationInputBox

Die Bestandteile innerhalb von eckigen Klammern "[]" sind jeweils optional - lediglich "Prompt As String" ist eine Muss-Angabe. Wir gehen hier auf die ersten drei Angaben der InputBox ein. Nehmen wir an, wir möchten den Namen des Benutzers erfragen - dies ist unser "Prompt". Nachfolgende Code-Zeile ergibt das unterhalb angezeigte Eingabe-Feld.

Application.InputBox("Wie heisst Du?")

InputBox1

Eingangs habe ich erwähnt, dass die Benutzereingabe als Variable weiterverwendet werden kann. Definieren wir "UserName" als String, da es sich um einen Text handelt. Um die Eingabe direkt in dieser Variable abzuspeichern, lautet der Code demnach:

Dim UserName As String
UserName = Application.InputBox("Wie heisst Du?")

Der nächste Bestandteil der InputBox ist der Titel. Dieser wird oberhalb angezeigt, wo derzeit noch "Eingabe" steht (siehe Grafik oben).

Als letzte Angabe folgt "Default" - dies ist ein Standardtext, der bereits eingegeben und markiert ist, wenn sich das Eingabefeld in der Prozedur öffnet. Nachfolgende Code-Zeilen ergeben das unterhalb angezeigte Eingabe-Feld.

Dim UserName As String
UserName = Application.InputBox("Wie heisst Du?", "Benutzername", "Dein Name")

InputBox2

Solche InputBoxen ermöglichen es, wie eingangs erwähnt, semi-automatisierte Prozesse in VBA abzubilden. Beachte, dass der Benutzer Tippfehler machen könnte - unter Umständen wäre eine Dropdown-Liste mit vorgegebenen Auswahlkriterien sinnvoller, um die Qualität der Daten sicherzustellen.

Zwei Jahre Excelblog.ch

Liebe Leserinnen und Leser

Es freut mich sehr, Euch mitzuteilen, dass Excelblog.ch diesen Monat bereits seinen zweijährigen Geburtstag feiert! Nach wie vor werden Euch hier hilfreiche Tipps & Tricks im Umgang mit Excel zur Verfügung gestellt und wir sind schon fast bei monatlich 1'000 Aufrufen angelangt! Mein Dank gebührt Euch, dass Ihr stets interessiert auf den Blog zurückkehrt und Euch meine Inhalte anschaut.

Seit bald einem Jahr bin ich zudem als selbständiger Berater tätig und konnte bereits bei diversen Kunden Ablauf- und Reporting-Optimierungen - vorwiegend im Bereich Excel - erreichen. Der Bereich Makros und VBA ist ein wichtiger Bestandteil davon. Seit Kurzem verbreitet sich ein neuer Begriff: "Robotic Process Automation" (RPA). Mit dieser neuen Technologie ist es möglich, systemübergreifende Prozessautomation zu erlangen - ohne manuelle Einwirkungen. Was also Makros innerhalb der Office-Umgebung bewerkstelligen können, erlaubt RPA über sämtliche Applikationen, Ordnerstrukturen und Dokumente hinweg. Die unterschiedlichen Software-Anbieter arbeiten da oft auch mit einem "Rekorder", um die Befehle am Bildschirm direkt aufzuzeichnen. RPA ist eine vielversprechende Technologie und breitet sich rasant aus, es finden sich zudem je länger je mehr Komponenten aus dem Bereich der künstlichen Intelligenz/Artificial Intelligence und Machine Learning. Auch ich setze mich derzeit mit dem Thema RPA stark auseinander und werde sporadisch darüber berichten.

Nun wünsche ich Euch, liebe Leserinnen und Leser, einen weiterhin wundervollen und sonnigen Sommer sowie gute Erholung vom Alltag.

Herzlich, Roman Tobler