www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 1(8) 10010-MAKROS + VBA-Programmierung Seminarbegleitende Einführung und Beispiele Makros sind in der Programmiersprache VBA (Visual Basic for Applications) geschriebene Programme, mit deren Hilfe sich wiederkehrende Abläufe innerhalb eines MS-Office-Programms (Word, Excel ) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden entweder in der dafür in Office integrierten Entwicklungsumgebung zu Fuß (Visual Basic-Editor) geschrieben oder sie können auch mit dem sog. Makro-Recorder automatisiert aufzeichnet werden und bei Bedarf ebenfalls über die Entwicklungsumgebung editiert und ausgeführt werden. Ein fertiges Makro besteht also aus einer so komponierten Aneinanderreihung von VBA-Befehlen und VBA-Funktionen. Innerhalb der Entwicklungsebene werden Makros in einem sog. zu einer Arbeitsmappe gehörenden Modul gespeichert. Makros lassen sich über die Klappe Entwicklertools Anzeigen der Registerkarte "Entwicklertools" Klicken Sie auf die Registerkarte Datei. Klicken Sie auf Optionen. Klicken Sie auf Menüband anpassen. Aktivieren Sie unter Menüband anpassen und unter Hauptregisterkarten das Kontrollkästchen Entwicklertools. (Makro aufzeichnen) oder über die Tastenkombination ALT + F + M erstellen. Aufgabe: a) Erstellung zweier Makros zur Einstellung der Spaltenzeilenüberschriften in nummerischer und alphanummerischer Form: b) Makro aufrufen mit: c) Makro mit Schaltfläche starten
Fertige Makros lassen sich auf mehrere Arten starten: www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 2(8) a) Über die Excel-Menüführung - aus dem Menüband (Office2013 + Office 2010) - aus der MFL (Office2007) bzw. - jeweils über die Registerkarte Entwicklertools / Code / Makros Sollte die Registerkarte Entwicklertools nicht verfügbar sein, so kann sie wie folgt eingestellt werden: - - - Excel 2013 (und Excel 2010) Excel 2007: Datei / Option / Menuband anpassen Klick in der rechten Spalte bei: Entwicklertools OK Office-Schaltfläche / Excel-Option / Häufig verwendet Klick bei: Entwicklerregisterkarte in der MFL anzeigen Abb. für Excel 2013 + 2010 b) über den Play-Button im Visual Basic-Editor (ALT F11) c) über das Excel-ShortCut Makromenu starten (Alt F8) (oder über eine speziell zugewiesene Tastenkombination) d) über eine Symbolleisten-Schaltfläche - speziell zuzuweisen e) über eine erstellte Schaltfläche / Button - verbundenes Grafikobjekt()
www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 3(8) Starten der integrierten Entwicklungsumgebung IDE (Integrated Developement Environment) Makros werden gemeinsam mit der zugehörigen Anwendungsdatei abgespeichert. Bei Excel also zusammen mit der betreffenden Arbeitsmappe. Da Makros aber auch unerwünschte Anweisungen, Viren enthalten können, war das Öffnen einer Excel-Datei eines unbekannten Verfassers bis zur Version 2003 mit gewissen Risiken verbunden. Ab der Office 2007 werden Makros gleichwohl weiterhin gemeinsam mit der zugehörigen Arbeitsmappe abgespeichert, können sicherheitshalber nun aber nicht mehr unter der Standard-Excel-Dateinamenserweiterung (bis 2003:.xls ab 2007:.xlsx) abgespeichert werden. Zur Abspeicherung einer Arbeitsmappe, die Makros enthält, ist ab Version 2007 die Dateinamenserweiterung.xlsm zu verwenden. Daher wird empfohlen, eine Arbeitsmappe für ein neues Makro vorzugsweise zum Beginn bereits mit dieser Dateinamenserweiterung.xlsm abzuspeichern. Vergisst man dies und speichert die Mappe nur mit der Dateierweiterung.xlsx ab, gehen sämtliche erstellten Makroinformationen verloren. Daher wird folgende Schrittreihenfolge empfohlen: 1) Excel starten 2) bestehende Excel-Mappe öffnen, für die ein Makro erstellt werden soll / oder neue Mappe erstellen 3) Excel-Datei speichern mit der Dateierweiterung für Makros: *.xlsm (oder Dateityp auswählen: Excel Arbeitsmappe mit Makros (xlsm) 4) IDE starten mit: ALT + F11 Visual Basic-Editor ist ein Programm, welches das Schreiben und Bearbeiten von Makros für Anfänger erleichtert und über eine umfangreiche Onlinehilfe verfügt. Sie müssen nicht lernen, zu programmieren oder die Visual Basic-Sprache zu verwenden, um an den Makros einfache Änderungen vorzunehmen. Mit Visual Basic-Editor können Sie Makros bearbeiten, Makros von einem Modul in ein anderes Modul kopieren, Makros zwischen verschiedenen Arbeitsmappen kopieren, die Module umbenennen, in denen die Makros gespeichert sind, oder die Makros umbenennen.
Weitere VBA-Beispiele mit Tastenverknüpfung www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 4(8)
www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 5(8)
www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 6(8)
www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 7(8) vba-externetabellen-q6-einlesen.xlsm Aus einer unbestimmten Anzahl in einem UV existierender Excel-Dateien(Quelldateien) jeweils das 1. Tabellenblatt in die Zieldatei (ThisWorkbook) automatisch einlesen (=hineinkopieren)
Aus einer unbestimmten Anzahl in einem UV existierender Excel-Dateien(Quelldateien) beliebige Zellenwerte in eine Zieldatei (ThisWorkbook) automatisch einlesen (=hineinkopieren) www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 8(8)