In Microsoft-Office kann man mit VBA viele standardmäßige Aufgaben automatisieren und somit effizieter arbeiten. Dazu kommen auch oft VBA-Formulare zum Einsatz, um Benutzereingaben abzufragen. Bei umfangreichen Formularen kann die Eingabe mühsam werden, wenn man nicht ein wenig auf die Benutzerfreundlichkeit achtet.
Durch die Verwendung entsprechender Tastenkombininationen (Shortcuts), wie der Enter-Taste, kann man die Arbeitsgeschwindigkeit steigern, weil man die Finger nicht mehr von der Tastatur nehmen muss, um bestimmte Aktionen mit der Maus auszuführen. Deswegen sollte man auch in einem VBA-UserForm Gebrauch von den Alt-Tastenkombinationen machen. In anderen Programmierumgebungen werden diese Tastenkombinationen auch AccessKey (Alt+Buchstabe/Ziffer) genannt.
Man kennt diese Bedienungshilfen über die Alt-Taste mittels Access Keys auch aus anderen Programmen.
Drückt man die Alt-Taste, dann erscheint bei den Buttons und Menü-Einträgen ein Buchstabe mit einem Unterstrich. Im Microsoft Office erscheint dies sogar als kleines Symbol. Wenn man nun als nächstest diesen Buchstaben mit Unterstrich auf der Tastatur klickt, dann wird der zugehörige Befehl ausgeführt.
Eigenschaft Accelerator verwenden
Um eine solche Bedienungshilfe auch in ein VBA-Formular einzubauen, muss man die Accelerator-Eigenschaft verwenden. Im Formular-Editor von Microsofts Visual Basic for Application wählt man den gewünschten CommandButton aus.
Es ist gängige Praxis, dass man für die Alt-Tastenkombination immer den Anfangsbuchstaben vergibt. Kommt dieser bei verschiedenen Formularelementen mehrmals vor, so kann man einen anderen Buchstaben oder eine andere Zahl verwenden, die im Text bzw. in der Caption vorkommt. Es wird dann immer das erste Vorkommen dieses Buchstaben verwendet und unterstrichen. Kommt die Zahl oder der Buchstabe in der Caption-Eigenschaft nicht vor, dann funktioniert es nicht.
In diesem Bild sieht man eine fertige VBA-Anwendung mit verschiedenen CommandButtons, die sich über die Alt-Taste in Kombination mit einem Buchstaben direkt ausführen lassen. So lässt sich das VBA-Formular schließen über die Tastenkombination „Alt+S„, oder der Okay-Button über „Alt+O“ ausführen, oder ein Text markieren mit „Alt+T“ ohne dass man die Maus benötigt.
Dadurch lässt es sich wesentlich schneller und effizienter mit dem Formular arbeiten.