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 2016 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

Dieser Dialog soll natürlich jetzt auch die Eingabe von Daten ermöglichen. Dazu gibt es hier extra eine Textbox, ein Textfeld. Wenn ich das also anklicke und hier im Dialog eine beliebige Größe aufziehe, dann kann der Benutzer dort später Daten eingeben. Das was hier Textbox heißt, nenne ich deutlicher Edit Control, denn auch das Label, was gleich noch kommt, enthält ja einen Text in einer Box. Deswegen werde ich das dann, wenn ich das benenne, mit dem Präfix "edit" versehen, also ich habe hier hingeklickt, "edt" als Präfix und ich nenne das mal ganz lieblos: "Eingabe", das dient im Moment nur zum Testen. Da kann ich also was eingeben, beziehungsweise mein Benutzer später. Damit er auch sieht, was er da eingeben kann, kommt davor noch ein Label, also hier so ein Beschriftungsfeld, auch da ziehe ich jetzt mal ein beliebiges Viereck auf. Und der Vorteil der ungarischen Notation besteht unter anderem daran, dass ich Elemente, die, sagen wir pärchenweise auftauchen, pärchenweise benennen kann. Wenn dieses, das "edtEingabe" ist, dann ist das jetzt, das "lblEingabe" (Label Eingabe). Und sie werden häufig solche Pärchen entdecken, aus Beschriftung und Eingabeelement oder Auswahlelement. Jetzt muss ich es noch ein bisschen schöner einsortieren. Also hier mache ich auch, wie alle anderen Label, den Backstyle auf "Transparent", dann kann man hier mit einem Doppelklick die Größe optimieren. Die mache ich aber gerne einen Tick breiter, damit es nicht ganz so eng klebt, und dann kann ich hier z. B. die Breite anpassen, sodass es bis hier passt. Das ist alles noch ein bisschen übertrieben für den vermutlich kleinen Wert, der da rein kommt. Vielleicht hätte ich erst mal eine Beschriftung machen sollen, sehe ich gerade, also die Caption soll da nicht "Label 1" heißen, sondern sagen wir: "beliebiger Wert:". Dann muss ich hier natürlich entsprechend wieder verlängern, und zwar so, dass sie sich auf keinen Fall überlappen, sonst stört das nämlich enorm bei der Eingabe. Und Sie sehen gleich, wenn ich da was eingebe, - einmal speichern und mit F5 starten - wenn ich da was eingebe, dann stehen die nicht auf einer Höhe. Das muss man ein bisschen zu Fuß nachkorrigieren. Deren Oberkanten stimmen überein, aber die Label haben andere Höhen als die Edit Controls, also - überlappen tun die sich außerdem noch. - Ich kann hier mal nachlesen, dessen Höhe sind 9,75, hier sind es aber 18. Also könnte ich zum Beispiel hingehen, und hier den Height, den Höhenwert auf "18" stellen. Sie sehen, aber die Oberkante kümmert sich da nicht darum, das wird also nicht senkrecht zentriert, deswegen muss man so ein kleines bisschen tricksen, und hier die Topwerte korrigieren, das ist in Pixeln. Ich kann jetzt also einfach mal schätzen, ich nehm immer vier Pixel mehr, also auf "22", und dann stimmt das schon so ungefähr, wenn ich das jetzt mit F5 starte. Es hätten’s vielleicht auch drei Pixel getan, also das ist jetzt sauberer auf einer Höhe. Was mir noch nicht gefällt, ist hier dieser Abstand, der ist für eine Möglichkeit gedacht, die ganz ehrlich, kein Mensch kennt. Wenn hier ein Text drin steht, den sie markieren wollen, könnten Sie jetzt hier reinklicken in diesen Bereich, den sogenannten Selection Margin, also den Bereich mit dem man diesen Inhalt auswählen kann. Das kennt keiner, die meisten gehen mit gedrückter Maus von rechts nach links, und sind ausreichend gut bedient, und ärgern sich vor allem, wenn dieses Edit Control sehr schmal ist, über den verschenkten Platz. Also, das will ich weg haben, das ist ein unschöner Standard, wenn das markiert ist, kann ich hier den Selection Margin mit Doppelklick einfach auf "False" stellen, und Sie sehen dann im fertigen Dialog, da kann ich jetzt ganz vorne reinklicken. Markieren geht weiterhin, nur eben nicht auf den einen Klick, den sowieso keiner kennt. Das Zweite ist, was ich jetzt noch was ausbessern will, das sieht man erst wenn der Dialog neu gestartet wird mit F5, Sie haben es vielleicht nicht bemerkt, ich musste da immer reinklicken. Damit macht man sich sehr unbeliebt, wenn man etwas ausfüllen soll als Benutzer und als erstes zur Maus greifen und reinklicken muss. Das nennt sich "Aktivierreihenfolge", im Moment steht der OK-Button am ersten Platz der Aktivierreihenfolge. Also muss ich die ändern. Das versteckt sich hier unter "Ansicht" "Aktivierreihenfolge". Dieser Dialog zeigt, in welcher Reihenfolge die Elemente aktiviert werden. Zuerst eingefügt, zuerst aktiviert. Das will ich nicht! Ich möchte gern, dass zuerst die Eingabe, die "edtEingabe" aktiviert wird. Und trotzdem gehe ich jetzt zum "lblEingabe", schiebe den einen nach oben, der wäre also vorher aktiviert, kann jetzt mit Umschaltklick beide markieren, und schiebe diese so nach oben. Zuerst würde also ein Label aktiviert, was nicht aktivierbar ist, und deswegen wird ein Edit Control aktiviert. Sie werden sich gleich wundern, warum ich das so merkwürdig mache, den Rest lasse ich mal so, ich könnte ich es natürlich noch ein bisschen besser machen, dass man von links nach rechts die Reihenfolge hat. Und nach dem OK kann ich jetzt hier mit F5 starten, und sie sehen, ohne weiteren Klick ist der Fokus schon hier drin. Warum habe ich jetzt dieses Label noch davor gesetzt? Ganz einfach, wenn ich jetzt mit der Tabtaste mal den Fokus verschiebe, jetzt ist dieses Element aktiv, und ich möchte das wieder aktivieren, dann würde ein normaler Benutzer zurecht erwarten, dass man Alt+W oder sowas zum Beispiel angeben könnte, und dann springt der Fokus hier hin. Das macht jeder Dialog mit solchen unterstrichenen Buchstaben. Und das können diese Dialoge auch. Ich werde jetzt also das Label mit einem sogenannten "Accelerator" versehen, das ist das "W", weil ich das einfach ausgucke. Und wenn ich das jetzt starte mit F5, und den Fokus mit der Tabtaste verschiebe, egal wohin, kann ich jetzt mit Alt+W da oben wieder hinspringen. Das bedingt, dass das Label mit dem Accelerator immer in der Aktivierreihenfolge vor dem zugehörigen Edit Control ist. Und in einem richtigen Dialog hätten sie natürlich hier immer Label, Inhalt, Label, Inhalt, immer so abwechselnd, oder, es müssen ja keine Edit Controls sein, können ja auch Combo Boxen sein. Das heißt, Sie könnten, mit jeweils dem unterstrichenen Buchstaben plus Alttaste, in das zugehörige Control springen. Jetzt soll natürlich auch was damit passieren, wenn ich hier was reinschreibe, soll dieser Wert, sagen wir, in der aktuellen Zelle gespeichert werden, und zwar mit dem OK. Ich muss also im Entwurf per Doppelklick auf die Prozedur, die beim Button OK aufgerufen wird, wechseln. Das kann jetzt hier weg, und stattdessen schreibe ich genau das hin. Ich möchte, dass in "ActiveCell" (Strg+Leertaste) ".Value", das ist der Inhalt davon, folgende Information steht, nämlich aus diesem Formular: "=me.", dann weiß ich, es gibt ein Edit Control, die stehen alle schön unter "edt", wegen der ungarischen Notation. Ich muss mir gar nicht wirklich merken, wie das heißt. Mit Tab auswählen und dessen ".Value" hätte ich gerne. Das wird ja von rechts nach links gelesen, also der Wert von dem Eingabe Control auf mir, auf diesem Formular, wird der Wert von ActiveCell. Wenn ich jetzt also mit F5, - das können wir ein bisschen zur Seite schieben, - hier was völlig Beliebiges eingebe, soll das gleich in dieser Zelle erscheinen, Nach dem OK, - ich muss mit ALT+F11 wieder rüberwechseln - ist genau das zu sehen. Das ist sozusagen der Klassiker, dass ich ein Eingabefeld irgendwo habe, und dieser Wert mit der OK-Schaltfläche nach diesem Muster mehr oder weniger ähnlich übernommen wird.

Excel 2016 VBA für Profis

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

5 Std. 52 min (55 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:25.01.2017
Laufzeit:5 Std. 52 min (55 Videos)

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!