Arbeitsbuch Die Struktur des Arbeitsbuches ist folgender Tabelle zu entnehmen: Symbol Bezeichnung Funktion Situationsbeschreibung Problematisierung und praxisnahe Hinführung Aufgabe, die am PC ausgeführt wird Programmschulung Ergebnissicherung schriftliche Aufgabe Verständnisfragen zur Ergebnissicherung Info-Text Arbeitsschritte Vorgabe von Informationen, die zur Bewältigung von Aufgaben heranzuziehen sind Kurzhandbuch zur Nachbearbeitung schrittweises Erarbeiten von Lerninhalten Nachvollziehen des Lösungsweges Das Übungsmaterial für Schülerinnen und Schüler steht zum Download bereit auf der Webseite: Bad Tölz, Juli 2009 Frank Braun Helge Deuber Alexander Prim Christoph Rauber MODUL Makroprogrammierung mit Excel
Inhaltsverzeichnis Inhaltsverzeichnis Kapitel 1 Makros aufzeichnen und ausführen...3 1.1 Makroausführung aktivieren...4 1.2 Das erste Makro aufzeichnen...4 1.3 Makro ausführen...5 1.4 Benutzerdefinierte Symbolleiste...5 1.5 Quellcode eines Makros öffnen und ändern...7 1.6 Übungsaufgabe...8 Kapitel 2 Makros programmieren...11 2.1 Erstellen einer Prozedur (Sub-Routine)...12 2.2 Sub aus der Excel-Umgebung aufrufen...17 2.3 Variablen, Konstanten, Datentypen und Operatoren...17 2.4 Prozeduren und Funktionen...20 2.4.1 Prozedurale Programmierung...20 2.4.2 Wertübergabe- und Rückgabeparameter...21 2.4.3 Datumsformatierungen...22 Kapitel 3 Struktogramme und die Umsetzung mit VBA...23 3.1 Verzweigung...24 3.1.1 Einfache IF THEN Verzweigung...24 3.1.2 Verschachtelte IF THEN Verzweigung...26 3.1.3 SELECT CASE Anweisung...28 3.2 Wiederholung (Iteration)...29 3.2.1 Zählschleife (For-Next)...29 3.2.2 Abweisende Schleife (Do While - Loop und Do Until - Loop)...31 3.2.3 Nicht abweisende Schleife (Do - Loop While und Do - Loop Until)...31 Kapitel 4 UserForm...33 4.1 Erstellen einer UserForm (Formular-Fenster)...34 4.2 Modul zum Öffnen und Anzeigen der UserForm...40 4.3 Werte abfragen und an eine Tabelle übergeben...43 4.4 Verzweigte Dialogführung...45 4.5 Schleifen verwenden...53 4.6 Übungsaufgaben...58 4.6.1 Potenzen...58 4.6.2 Zweierpotenzen...58 4.6.3 Ampelsteuerung...59 4.6.4 Farbmischung...59 4.6.5 Datum- und Uhrzeit...62 4.6.6 Analoguhr...63 4.7 Projekt 1: Autoverkauf mit Finanzierung...64 4.8 Projekt 2: Berechnung und grafische Darstellung des BMI...68 Seite 2 von 73 Braun Deuber Prim Rauber
Kapitel 1 Makros aufzeichnen und ausführen Braun Deuber Prim Rauber Seite 3 von 73
1.1 Makroausführung aktivieren Situation Sie arbeiten als Praktikant und sollen sich in die Automatisierung von immer wiederkehrenden Arbeitsabläufen einarbeiten. Standardmäßig führt Excel keine Makros aus, da diese auch Viren enthalten könnten. Je nachdem, welche Einstellungen der Administrator auf dem benutzten Computer eingestellt hat, müssen Sie eventuell bei jedem Hochfahren des Rechners folgende Schritte durchführen: Makroausführung aktivieren 1. Menü: EXTRAS MAKRO SICHERHEIT: Mittel 2. Excel neu starten 1.2 Das erste Makro aufzeichnen 2 Aufgabe 1 1. Erstellen Sie das abgebildete Berechnungsschema und speichern Sie es unter berechnung_zweier_zahlen.xls ab. 2. Starten Sie mithilfe der nachstehenden Schritt-für-Schritt-Anleitung den Makro- Recorder und fügen Sie in der Zelle F8 eine Formel zur Addition der beiden Zellwerte von B8 und D8 ein. 1 Zum Erfassen von Plus ( +) und Gleichheitszeichen ( =) muss ein Hochkomma ( ) vorangestellt werden. Aufzeichnen eines Makros 1. Klicken Sie in Zelle F8. 2. Menü: EXTRAS MAKRO AUFZEICHNEN 3. Geben Sie Makroname, Speicherort und Beschreibung wie abgebildet ein. 4. Fügen Sie die Formel zur Berechnung der beiden Summanden ein und schließen Sie die Eingabe mit [Return]. 5. Beenden Sie die Aufnahme: =B8+D8 Falls die Symbolleiste nicht sichtbar ist: Menü: Ansicht Symbolleisten Aufzeichnung beenden. Seite 4 von 73 Braun Deuber Prim Rauber
1.3 Makro ausführen Makroprogrammierung Aufgabe 2 1. Löschen Sie im Tabellenblatt berechnung_zweier_zahlen.xls Wert und Formatierung der Zelle F8. 2. Klicken Sie in Zelle F8 und führen Sie mithilfe nachfolgender Information das Makro Addition aus. Ausführen eines Makros Menü: EXTRAS MAKRO Es öffnet sich ein Fenster, in dem alle zurzeit verfügbaren Makros aufgelistet sind. Wählen Sie falls mehrere Makros vorhanden sind Addition aus und klicken Sie auf Ausführen. 1.4 Benutzerdefinierte Symbolleiste Aufgabe 3 Legen Sie gemäß nachstehender Anleitung ein eigenes Menü Die ersten Makros an und hinterlegen Sie unter diesem Menü eine Schaltfläche mit Schaltflächensymbol. Erstellen eines eigenen Menüs 1. Menü: ANSICHT SYMBOLLEISTEN ANPASSEN... 2. Register BEFEHLE Kategorien: Neues Menü 3. Ziehen Sie mit gedrückter linker Maustaste den Befehl Neues Menü in die Menüleiste und lassen Sie die Maustaste los. 4. Öffnen Sie durch Rechtsklick auf den neuen Menü-Eintrag das Kontextmenü und geben Sie Die ersten Makros ein. erst loslassen, wenn der Mauszeigen ein +Zeichen anzeigt (kein x-zeichen) ziehen Braun Deuber Prim Rauber Seite 5 von 73
Kapitel 4 UserForm Braun Deuber Prim Rauber Seite 33 von 73
4.1 Erstellen einer UserForm (Formular-Fenster) Formulare und Dialoge in VBA VBA bietet die Möglichkeit umfangreiche Benutzereingaben über Dialogfenster entgegenzunehmen. Des Weiteren kann der Anwender benutzerdefinierte Formulare (UserForms) entwerfen, über die Anwendungen bedient werden können. Erstellen einer UserForm 1. VBA-Editor aufrufen 2. Menü: EINFÜGEN USERFORM oder Symbolleiste Die Formular-Elemente (Steuerelemente) werden über die Werkzeugsammlung in die UserForm eingefügt. Eine Erläuterung der Steuerelemente finden Sie in der folgenden Tabelle. Symbol Bezeichnung Funktion/Vorschlag für Benennung Objekte auswählen Kontrollkästchen (CheckBox) Register Bezeichnungsfeld (Label) Optionsfeld (RadioButton) Multiseiten Textfeld (TextBox) Umschaltfeld Bildlaufleiste Kombinationsfeld (ComboBox) Rahmen (GroupBox) Dient dem Markieren von Steuerelementen check_name tab_name lbl_name opt_name page_name txt_name tgl_name scr_name cbo_name fra_name Drehfeld Listenfeld (ListBox) Befehlsschaltfläche (CommandButton) Bild (Image) spin_name list_name cmd_name img_name Seite 34 von 73 Braun Deuber Prim Rauber
Projekt- und Eigenschaftsfenster Sollten diese Fenster nicht eingeblendet sein, können sie unter dem Menüpunkt Ansicht sichtbar gemacht werden. Aufgabe 39 Erstellen Sie eine Arbeitsmappe erste_userform.xls und gestalten Sie entsprechend der nachfolgenden Abbildung eine UserForm im VBA-Editor. Nach Eingabe des Geschlechts, des Vornamens und des Nachnamens soll durch Anklicken der Befehlsschaltfläche Anzeigen in dem Labelfeld die Begrüßung: Guten Tag, Frau/Herr erscheinen. Gehen Sie nach der Schritt-für-Schritt-Anleitung vor. Projektfenster In diesem Fenster sind alle übergeordneten Objekte (Tabellen, Formulare und Module) der Arbeitsmappe aufgeführt. UserForms können über das Kontextmenü entfernt werden. Starten der UserForm Eigenschaftsfenster Im Eigenschaftsfenster werden die Eigenschaften eines im Projektfenster markierten Objektes angezeigt und können bearbeitet werden. Namen der Steuerelemente cbo_geschlecht txt_vorname txt_nachname lbl_ausgabe cmd_anzeigen Braun Deuber Prim Rauber Seite 35 von 73
1. Klicken Sie auf die neu geöffnete UserForm und ändern Sie im Eigenschaftsfenster durch Anklicken des jeweiligen Feldes den Namen und die Caption (Titelleistenbeschriftung) wie in der nachfolgenden Abbildung ab. Projektfenster Hinweis: Im Projektfenster macht sich die Änderung des Namens auch bemerkbar. 2. Ziehen Sie aus der Werkzeugsammlung ein Bezeichnungsfeld in die UserForm. Geben Sie im Eigenschaftsfenster bei Caption den Begriff Geschlecht ein. Klicken Sie zur Änderung der Schriftgröße auf Font. Durch Anklicken der 3 Punkte öffnet sich ein neues Fenster, in dem Sie die Schriftgröße auf 16 einstellen können. 3. Ziehen Sie ein Kombinationsfeld in die UserForm. Geben Sie diesem Feld im Eigenschaftsfenster den Namen cbo_geschlecht und ändern Sie auch hier die Schriftgröße auf 16 ab. 4. Verfahren Sie zur Gestaltung bzw. Beschriftung von Vorname und Nachname mit den zugehörigen Textfeldern entsprechend. Verwenden Sie die oben angegebenen Namen (caption). 5. Fügen Sie unter die bisherigen sechs Objekte ein großes Bezeichnungsfeld mit dem Namen lbl_ausgabe ein und löschen Sie hier die Vorgabe hinter Caption. Eigenschaftsfenster 6. Fügen Sie zum Abschluss eine Befehlsschaltfläche entsprechend der nachfolgenden Abbildung ein. Durch die Eingabe eines Buchstabens er muss in dem Begriff von Caption enthalten sein kann auf die Befehlsschaltfläche auch mit der Tastatur zugegriffen werden. Seite 36 von 73 Braun Deuber Prim Rauber