8
© 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

10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

  • Upload
    doandat

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© 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

Page 2: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 2(8)

Fertige Makros lassen sich auf mehrere Arten starten: 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 Datei / Option / Menuband anpassen (und Excel 2010) Klick in der rechten Spalte bei: „Entwicklertools“ OK

-

Excel 2007: 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()

Page 3: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© 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.

Page 4: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 4(8)

Weitere VBA-Beispiele mit Tastenverknüpfung

Page 5: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 5(8)

Page 6: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 6(8)

Page 7: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

© 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)

Page 8: 10010-MAKROS + VBA-Programmierung · (Word, Excel…) automatisieren lassen oder die es gestatten, die Funktionalität eines Office- Programms zu erweitern. Makroprogramme werden

www.dozent-online.de - 10010-VBA-Einfuehrung/Seite 8(8)

Aus einer unbestimmten Anzahl in einem UV existierender Excel-Dateien(Quelldateien) beliebige Zellenwerte in eine Zieldatei (ThisWorkbook) automatisch einlesen (=hineinkopieren)