VBA – Programmierung mit Excel Grundlagen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Seite 86<br />
Dialoge (Teil II)<br />
12.2 Formularsteuerelemente<br />
Die Formularsteuerelemente, enthalten in der Symbolleiste Formular sind nur <strong>mit</strong><br />
Einschränkungen dafür geeignet, in einem steuernden Dialog verwendet zu werden, weil sie<br />
eigentlich darauf ausgerichtet sind, ohne <strong>VBA</strong> <strong>–</strong> Code auszukommen. Ihre<br />
Programmierbarkeit beschränkt sich in der Praxis auf die Zuweisung von Makros (Subs).<br />
Außer einer kleinen Beispielanwendung <strong>mit</strong> diesen Steuerelementen werden deshalb in<br />
dieser Unterlage hauptsächlich die Steuerelemente der Toolbox behandelt.<br />
Abbildung 25: Die Symbolleiste FORMULAR<br />
Zwei der Steuerelemente der Symbolleiste FORMULAR können jedoch durchaus für die<br />
Gestaltung von Formularen (insbesondere von „Eingangsformularen“), trotz der oben<br />
genannten Einschränkung, gut benutzt werden <strong>–</strong> die Elemente BEZEICHNUNGSFELD und<br />
SCHALTFLÄCHE.<br />
Die Anwendung dieser Elemente in einem Formular zeigt das Beispiel einer sehr einfachen<br />
Anwendung im Kapitel 12.4.<br />
12.3 Ein Tabellenformular öffnen<br />
Ein im Tabellenblatt erzeugtes Formular sollte nach dem Öffnen der Arbeitsmappe aktiv sein.<br />
Eine Arbeitsmappe zeigt als aktives Tabellenblatt immer das Blatt, welches beim Verlassen<br />
der Arbeitsmappe aktiv war. Direkt kann per Programm ein Tabellenblatt geöffnet werden<br />
über die Anweisungen:<br />
Worksheets(Tabellenname).Activate<br />
Worksheets(Index).Activate<br />
Index ist der Positionsindex des Tabellenblattes in der Arbeitsmappe. Sicherer ist es, den<br />
Blattnamen zu verwenden, da sich die Reihenfolge der Tabellenblätter zur Laufzeit eines<br />
Programms ändern kann und da<strong>mit</strong> der angegebene Indexwert auf ein falsches Blatt zeigen<br />
kann.<br />
Worksheets("Startmenu").Activate<br />
Worksheets(1).Activate<br />
Zur Sicherheit sollte der Aufruf um den Namen des Arbeitsmappe erweitert werden, da man<br />
nicht immer davon ausgehen kann, daß das zu aktivierende Tabellenblatt in der gerade<br />
aktiven Arbeitsmappe liegt:<br />
Workbooks("Mappe5").Worksheets("Startmenu").Activate<br />
Workbooks("Mappe5").Worksheets(1).Activate<br />
Workbooks("Kosten.xls").Worksheets("Startmenu").Activate<br />
Ist die benötigte Arbeitsmappe nicht geöffnet, kann sie <strong>mit</strong><br />
Workbooks.Open("Kosten.xls")<br />
im aktuellen Ordner geöffnet werden. Anschließend wird das gewünschte Tabellenblatt <strong>mit</strong><br />
dem Formular aktiviert.<br />
Befindet sich die Arbeitsmappe in einem anderen Ordner, sollte der komplette Pfad<br />
angegeben werden:<br />
Workbooks.Open("D:\Bilanz\Abt1\Kosten.xls")<br />
➨ Geschlossen wird eine Arbeitsmappe <strong>mit</strong> einem Befehl der Form:<br />
Workbooks("Kosten.xls").Close<br />
➨ Soll das Schließen ohne Abfrage nach dem Speichern eventueller Änderungen erfolgen,<br />
wird die Anweisung erweitert:<br />
Workbooks("Kosten.xls").Close SaveChanges := True<br />
Workbooks("Kosten.xls").Close SaveChanges := False