30.09.2013 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!