Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel 2013 VBA für Profis

Eingabefeld einrichten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Eingabefelder in einem Formular ermöglichen die Übergabe von Daten. Mit ein paar cleveren Einstellungen sind sie viel bequemer nutzbar.

Transkript

Ein typischer Dialog erlaubt die Eingabe von Daten, zum Beispiel in ein Eingabefeld und dann werden die beispielsweise mit der OK-Schaltfläche in eine Zelle geschrieben. Das möchte ich hier auch einmal vorführen. Ein Eingabefeld ist dieses hier, also mit "ab", und dann nach Belieben irgendwo ein Klick oder ein Stück ziehen, je nachdem wie Sie die Größe vorgeben wollen. Und der Name Textbox ist völlig beliebig. Die Ungarische Notation würde für ein Edit Control, ein editierbares Steuerelement, edt als Präfix vorsehen. Und dann können wir es nach Belieben edtEingabe oder sowas benennen. Damit auch klar ist, was man da eingibt, sollte vielleicht noch ein Label davor. Die kommen hier nicht pärchenweise, sondern müssen einzeln gemacht werden. Ein Label ist dieses, dieses Beschriftungsfeld. Und entsprechend kann ich davor ein Viereck aufziehen. Und das könnte man dann lblEingabe nennen. Das ist der Vorteil dieser Ungarischen Notation, die können immer pärchenweise benannt werden: lblEingabe und edtEingabe. Labels mache ich immer direkt auf Transparent; und einen Tick kleiner; und da steht zum Beispiel irgendwas in der Caption drin wie "Beliebiger Wert", damit jetzt klar ist, das ist eigentlich nur eine Testeingabe. Und dann kann man das Ganze noch ein klein bisschen schöner machen. Und hier darf man das eingeben. Und mit dem OK soll das übernommen werden. Und zwar am besten in die Zelle, die gerade aktiv ist. Das ist jetzt am bequemsten. Also ein Doppelklick hier. Und bei btnOK_Click wird dann nicht mehr die MsgBox ausgegeben, sondern der Inhalt dieses Eingabefeldes in die aktive Zelle geschrieben. Also aus Sichtwinkel der Programmierung umgekehrt. Die aktive Zelle, ActiveCell, Strg+Leertaste, um das ergänzen zu lassen, Tab zum Auswählen, weil da schon ActiveCell richtig ausgewählt ist. Punkt, Value, das ist das, mit dem ich in eine Zelle schreiben kann, es sei denn es wäre eine Formel; ist gleich. Und jetzt muss ich den Besitzer fragen von diesem Eingabefeld, das ist das Formular, also me, Punkt. Ungarische Notation sagt, ich kann jetzt einfach alle Felder anzeigen lassen mit edt. Das Ding, was ich brauche, ist das einzige, heißt Eingabe. Punkt, auch Value. Also der Value der Eingabe wird der Value der aktiven Zelle. Und dann noch das Formular zu. Bevor ich das jetzt starte, will ich lieber nochmal einen schnellen Blick mit Alt+F11 auf Excel werfen, wo denn gerade die aktive Zelle ist. Wir machen das mal gezielt hier. Und mit Alt+F11 wieder zurück. Jetzt kann ich das mit F5 starten. Schreibe hier was Beliebiges rein. Sie haben es schon gemerkt, ich muss einen Klick machen. Sagen wir mal, eine beliebige Zahl. Und mit dem OK soll diese Zahl dort auftauchen. Also einmal nachgucken. Hat geklappt. War jetzt nicht besonders schwierig, aber das ist das grundsätzliche Konzept. Wenn Sie also ein Eingabefeld in einem Dialog haben, können Sie dessen Wert; ich zeige das nochmal mit einem Doppelklick, hier mit dem Me, Punkt, Name des Eingabefelds, Punkt, Value, einfach abfragen. An dem Eingabefenster gibt es noch eine Kleinigkeit zu verbessern. Erstens, ich starte das nochmal, Sie sehen, ohne dass ich etwas tue, liegt der Fokus hier und nicht dort, wo ich losschreiben kann. Und zweitens, wenn ich jetzt hier reinklicke, kann ich nicht hier vorne klicken. Das ist ein sogenannter SelectionMargin, Markierungsbereich. Ich schreibe mal was Beliebiges. Das ist so gedacht, dass man jetzt hier draufklicken kann und dann ist es markiert. Ganz ehrlich, schöne Idee, gibt es aber sonst nirgends in Windows. Also woher weiß der Benutzer das? Der ärgert sich nur über den Platzbedarf. Kann ich also wegschalten. Die SelectionMargin soll weg und der Fokus soll direkt beim Öffnen des Dialogfelds hier rein. Also, nach dem Abbrechen, der SelectionMargin ist eine Eigenschaft. Also, wenn ich das markiert habe, muss ich hier unter "S" nachgucken. Da haben wir hier SelectionMargin, kann ich mit einem Doppelklick auf False stellen. Dann ist das schonmal behoben. Nochmal zum Gucken. Da kann ich jetzt hier vorne klicken, aber ich muss immer noch klicken. Jetzt kommt der zweite Teil. Es gibt für dieses Dialogfeld unter Ansicht die Aktivierreihenfolge. Die ist derzeit so organisiert, nämlich in der Reihenfolge des Einfügens der Objekte; dass erst OK, dann Abbrechen, dann ein nicht aktivierbares Label, eine aktivierbare Eingabe und noch ein nicht aktivierbares Label dabei ist. Die haben die falsche Reihenfolge. Es muss, das klingt jetzt erstmal komisch, zuerst das Label folgen, dann kann ich jetzt mit Shift+Klick dazumarkieren, dann das Edit. Und die beiden lasse ich jetzt ganz nach oben wandern. Das heißt, zuerst würde aktiviert dieses Label. Das ist aber nicht aktivierbar. Und dann wird aktiviert die Edit-Eingabe. Sie werden gleich sehen, warum ich ein nicht aktivierbares an die erste Stelle stelle. Aber mit OK und jetzt dem Test mit F5, sehen Sie, der Fokus steckt schon drin. Der Trick mit diesem Label basiert jetzt darauf, dass man das ja auch mit Tastenkürzeln erreichen kann. Ich werde also das W als Schnelltaste auswählen. Dazu muss ich hier das Label markieren und bei dem sogenannten Accelerator, Beschleuniger, ein W eingeben. Und nach dem Return sehen Sie, das ist unterstrichen. Das bedeutet, wenn ich den Dialog jetzt starte und den Fokus, das muss ich jetzt mit der Tab-Taste machen, irgendwo anders hinsetze, hier zum Beispiel, kann ich jetzt mit Alt+W den Fokus wieder nach da oben holen. Und wenn ich viele Eingabefelder habe, ist das durchaus sinnvoll. Das bedeutet aber, es muss erst das Label und dann das Edit stehen, deswegen diese etwas ungewöhnliche Reihenfolge. Also beide Sachen sind behoben. Der SelectionMargin ist weg. Damit habe ich hier wieder Platz von Anfang an. Und unter Ansicht Aktivierreihenfolge konnte ich dafür sorgen, dass die so in der Reihenfolge aktiviert werden, wie man das bei der Benutzung gern haben möchte. Und das erste aktivierbare kriegt beim Öffnen auch den Fokus.

Excel 2013 VBA für Profis

Nutzen Sie die Möglichkeiten der Programmiersprache VBA in Excel 2013, um eigene Dialoge zu erstellen, auf andere Arbeitsmappen zuzugreifen und wichtige Funktionen einzusetzen.

4 Std. 59 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!