Theorie Excel - VBA (Visual Basic Application)



Ähnliche Dokumente
Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Excel-Anwendung Wartungsplan

MICROSOFT OFFICE. Inhaltsverzeichnis

Text-Zahlen-Formatieren

Fusszeile mit Datumsfeld und Dateiname

Excel-Anwendung Lagerverwaltung

Abb. 1. Abb. 2. Schaltflächen Speichern und Bericht öffnen. Abb. 3.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Urlaubsregel in David

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Wir lernen PowerPoint - Grundkurs Grußkarten erstellen

Monatstreff für Menschen ab 50 Merkblatt 69 EXCEL Peter Aeberhard, Computeria Olten

Die Dateiablage Der Weg zur Dateiablage

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Erstellen eines Formulars

Dateien mit Hilfe des Dateimanagers vom USB-Stick kopieren und auf der Festplatte speichern

32.4 Anpassen von Menüs und Symbolleisten 795i

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Newsletter. 1 Erzbistum Köln Newsletter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Vergleich: Positionen der Word 2003-Befehle in Word

Bauteilattribute als Sachdaten anzeigen

Modul Bildergalerie Informationen zum Bearbeiten des CMS-Systems für den SV Oberteisendorf

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Comic Life 2.x. Fortbildung zum Mediencurriculum

VB.net Programmierung und Beispielprogramm für GSV

Anleitung zum Einspielen der Demodaten

xcall White Paper Wählen-Buttons in Excel

In diesem Kurs lernen Sie, wie in EXCEL Diagramme erzeugt werden und was Sie dabei beachten sollten.

Sichern der persönlichen Daten auf einem Windows Computer

Arbeiten mit UMLed und Delphi

Handbuch. ECDL 2003 Professional Modul 3: Kommunikation. Signatur erstellen und verwenden sowie Nachrichtenoptionen

Mehrere PDF-Dokumente zu einem zusammenfügen

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Anleitung über den Umgang mit Schildern

Microsoft Access 2013 Navigationsformular (Musterlösung)

Folgeanleitung für Fachlehrer

Excel 2010 Kommentare einfügen

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

VBA mit Excel Grundlagen und Profiwissen

Folgeanleitung für Klassenlehrer

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Excel 2010 Pivot-Tabellen und Datenschnitte

Office 2010 Die neue Oberfläche

Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN)

Erstellen von x-y-diagrammen in OpenOffice.calc

Variablen & erweiterte Aktionen nutzen

Speichern. Speichern unter

Dokumentation von Ük Modul 302

Dynamische Segmentierung

Erzherzog Johann Jahr 2009

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

EINFACHES HAUSHALT- KASSABUCH

ARAkoll 2013 Dokumentation. Datum:

Workshop 6. März 2013

Ich möchte eine Bildergalerie ins Internet stellen

Serienbrief erstellen

Klicken Sie auf Weiter und es erscheint folgender Dialog

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Zur drittletzten Zeile scrollen

Artikel Schnittstelle über CSV

! " # $ " % & Nicki Wruck worldwidewruck

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Leitfaden zum Umgang mit Mautaufstellung und Einzelfahrtennachweis

K. Hartmann-Consulting. Schulungsunterlage Outlook 2013 Kompakt Teil 1

Bearbeitungshinweis zu den Profilblätter. Anlage zum Leitfaden

Photoalben anlegen und verwalten.

Anleitung - Archivierung

Dateipfad bei Word einrichten

Vorgehensweise bei Lastschriftverfahren

Lizenzen auschecken. Was ist zu tun?

12. Dokumente Speichern und Drucken

Access und die andern (Office) Programme. Armin Hess

Innerhalb der Entwicklungsebene werden Makros in einem sog. zu einer Arbeitsmappe gehörenden Modul gespeichert.

-Versand an Galileo Kundenstamm. Galileo / Outlook

Der Kalender im ipad

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Einkaufslisten verwalten. Tipps & Tricks

Handbuch ECDL 2003 Basic Modul 7 Abschnitt 1: Information Kopieren aus dem Browser

Satzhilfen Publisher Seite Einrichten

Konvertieren von Settingsdateien

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

LEITFADEN -ZUSTELLUNG

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Kommunikations-Management

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

FreePDF XP. Dokumentation

Durchführung der Datenübernahme nach Reisekosten 2011

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

CLX.ScanPackage Quick Install Guide und Erste Schritte

Transkript:

Inhaltsverzeichnis 1 Einstieg... 2 1.1 Symbolleiste Visual Basic... 2 1.2 Editor... 3 1.3 Befehle... 4 2 Vorgehensweise beim Programmieren... 4 2.1 Betroffene Dateien festhalten... 4 2.2 Ablauf festhalten... 4 2.3 Makro aufzeichnen... 4 2.4 Makro dokumentieren... 4 2.5 Makro anpassen... 4 2.6 Makro dokumentieren... 5 2.7 Code testen... 5 3 Code... 5 3.1 Codeaufbau... 5 3.2 Code anpassen... 5 3.2.1 Datei öffnen -> statisch... 5 3.2.2 Datei öffnen -> dynamisch... 5 3.2.3 Datei speichern -> statisch... 6 3.2.4 Datei speichern -> dynamisch... 6 3.2.5 Feld markieren -> statisch... 6 3.2.6 Feld markieren -> dynamisch... 6 3.2.7 Markierungen verschieben... 7 3.2.8 Rechnen und Resultat in Messagebox anzeigen... 7 3.2.9 Rechnen und Resultat in Arbeitsmappe schreiben... 7 3.2.10 Do Until - Schlaufen erstellen... 8 3.3 Arbeiten mit Formularen... 9 4 Begriff Konvention... 10 5 Tipps... 10 5.1.1 Formular automatisch öffnen... 10 5.1.2 Fehlerfrei programmieren... 10 5.1.3 Format von Befehlen suchen... 10 6 Mustercode... 11 6.1 Beispiel... 11 6.2 Flussdiagramm für Mustercode... 13 7 Literaturverweis... 14, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 1 von 14 (Excel_VBA_Theorie)

1 Einstieg 1.1 Symbolleiste Visual Basic Damit mit Visual Basic (VBA) gearbeitet werden kann, schaltet man am Besten die Symbolleiste Visual Basic ein. Ansicht -> Symbolleiste -> Visual Basic Die folgende Symbolleiste wird dann angezeigt: Editor: Wichtigstes Tool Entwurfsmodus Steuerelement- Leiste: Ideal für Formulare Aufnahme von neuen Makros Abspielen von Makros, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 2 von 14 (Excel_VBA_Theorie)

1.2 Editor Für Test empfielt es sich den Editor verkleinert geöffnet zu halten, so kann man im Hintergrund beobachten, was gerade passiert. Gleichzeitig werden im Vordergrund die Programmzeilen angezeigt. Makro-Bereich: Makro wird hier angezeigt Module: Makrosammlung Lokale Ausdrucke: Bei Tests werden hier die aktuellen Werte von Variablen angezeigt. (wird über die Ansicht eingeschaltet) Direktbereich: Eingegebene Befehle werden sofort ausgeführt (ist besonders bei Tests sehr nützlich -> wird über die Ansicht eingeschaltet) Eigenschaften von Makros oder Formularen., Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 3 von 14 (Excel_VBA_Theorie)

1.3 Befehle F5 F8 Haltepunkt führt Makro sofort aus (bzw. bis zum nächsten Haltepunkt) führt einen Schritt im Makro aus (-> für Tests geeignet) klicken Sie im linken grauen Rand auf die gewünschte Zeile und schon wird ein manueller Haltepunkt eingefügt. D.h. das Makro wird beim Ausführen an dieser Stelle gestoppt. 2 Vorgehensweise beim Programmieren 2.1 Betroffene Dateien festhalten Halten Sie alle betroffenen Dateien mit dem ganzen Pfad fest. Es erleichtert Ihnen anschliessend das Programmieren. Zusätzlich muss man sich so bereits zu Beginn Gedanken über das Ausmass des Projektes machen. 2.2 Ablauf festhalten Schreiben Sie einen Ablauf (z.b. in Form eines Flussdiagrammes) der Aktionen, welche Sie geplant haben. 2.3 Makro aufzeichnen Der Aufzeichnungsmodul ist sehr geeignet, um ein "Rohgerüst" zu erhalten. Man zeichnet z.b. einen Kopiervorgang auf (auch wenn man später 10 verschiedenen ausführen will) und übernimmt die vom System übertragenen Angaben. So kann man bereits einige Flüchtigkeitsfehler verhindern. 2.4 Makro dokumentieren Beim Aufzeichnungsmodus ist das Problem, dass die einzelnen Schritt nicht dokumentiert sind. Jeder selber erstellte Code erscheint Ihnen in den ersten zwei Wochen, jedoch ist er für Sie auch in einem Jahr noch logisch? - Darum empfehle ich Ihnen sich die Zeit für eine kurze Dokumentation zu nehmen. Idealerweise fügen Sie in den ensprechenden Linie die passenden Kommentare ein. Diese beginnen mit einem ' Hochkomma, im Editor werden die Kommentare zusätzlich noch grün angezeigt. 2.5 Makro anpassen Passen Sie jetzt Ihr aufgezeichnetes Makro entsprechend an. D.h. machen Sie aus einem statischen Dateiname ein dynamischer, indem Sie eine Variable mit dem Dateiname versehen und diese zu Beginn des Makros definieren. Oder wiederholen Sie einige Schritte mit Hilfe von Schleifen., Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 4 von 14 (Excel_VBA_Theorie)

2.6 Makro dokumentieren Auch hier gilt: Ihre Schleifen und Variablen sind im Moment logisch, jedoch wie sieht das in einem Jahr aus. Darum gilt: Je besser Sie dokumentiert sind, je einfacher sind Ihre späteren Anpassungen. 2.7 Code testen Benutzen Sie dafür die Funktion mit F8. (Einzelschritte) 3 Code 3.1 Codeaufbau Jeder Makrocode beginnt mit SUB MAKRONAME() und endet mit END SUB. Sub Makroname() 'Code in VBA 3.2 Code anpassen 3.2.1 Datei öffnen -> statisch Sub mdatei_öffnen() ' öffnet Datei Workbooks.Open FileName:= D:\Daten\Uebungen.xls" 3.2.2 Datei öffnen -> dynamisch Sub mdatei_öffnen() ' Aktiviert das Sheet (Blatt) "Daten" Sheets("Daten").activate ' Sucht Dateiname in der Zelle A5 und schreibt diese in die Variable vdateiname vdateiname = Range("A5") ' Sucht den Pfad in der Zelle A6 und schreibt diese in die Variable vpfad vpfad = Range("A6") ' öffnet Datei Workbooks.Open FileName:= vpfad & vdateiname, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 5 von 14 (Excel_VBA_Theorie)

3.2.3 Datei speichern -> statisch Sub mspeichern() ' Speichert die aktive Datei ActiveWorkbook.SaveAs FileName:="D:\Daten\Uebungen1.xls", FileFormat _ :=xlnormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False 3.2.4 Datei speichern -> dynamisch Sub mspeichern() ' Aktiviert das Sheet (Blatt) "Daten" Sheets("Daten").activate ' Sucht Dateiname in der Zelle A5 und schreibt diese in die Variable vdateiname vdateiname = Range("A5") ' Sucht den Pfad in der Zelle A6 und schreibt diese in die Variable vpfad vpfad = Range("A6") ' Speichert die aktive Datei ActiveWorkbook.SaveAs FileName:=vPfad & vdatei, FileFormat _ :=xlnormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False 3.2.5 Feld markieren -> statisch Sub mfeld_markieren_statisch() ' Zellen B5 bis C5 werden markiert Range("B5:C5").Select 3.2.6 Feld markieren -> dynamisch Sub mfeld_markieren_dynamisch() ' Die Zelle auf Zeile 5 in der zweiten Spalte (B5) wird markiert Cells(5, 2).Select, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 6 von 14 (Excel_VBA_Theorie)

3.2.7 Markierungen verschieben Sub mfeld_markieren_offset() ' Von der aktiven Zelle geht es 5 Zeilen hinunter und eine Spalte nach rechts. ActiveCell.Offset(5, 1).Select 3.2.8 Rechnen und Resultat in Messagebox anzeigen Sub mrechnen_und_anzeigen() ' legt Resultat in der Variable vresultat ab. (12) vresultat = 5 + 7 ' zeigt eine Infobox mit dem Resultat an. MsgBox (vresultat) 3.2.9 Rechnen und Resultat in Arbeitsmappe schreiben Sub mrechnen_und_schreiben() ' legt Variable vmultiplikator fest auf 3 vmultiplikator = 3 ' legt Resultat in der Variable vresultat ab. (12) vresultat = 5 + 7 ' zählt zu den 12 vier dazu und legt es wieder in der Variable vresultat ab (16) vresultat = vresultat + 4 ' Multipliziert die Variable vresultat (16) mit der Variable vmultipikator (3), das ergibt 48 vresultat = vresultat * vmultiplikator ' schreibt den Wert von vresultat (48) in die Zelle B1 Range("B1") = vresultat, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 7 von 14 (Excel_VBA_Theorie)

3.2.10 Do Until - Schlaufen erstellen Sub mdo_until_schlaufen() ' Wert x wird auf eins gesetzt x = 0 ' Schlaufe wird ausgeführt bis der die Variable x 5 ist Do Until x = 5 ' Variable x wird um eines erhöht x = x + 1 ' Variable x wird angezeigt in einem Infofenster MsgBox (x) ' Die Schlaufe wird wiederholt Loop, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 8 von 14 (Excel_VBA_Theorie)

3.3 Arbeiten mit Formularen Sie können im Editor unter dem zweiten Symbol links ein sogennantes UserForm einfügen. OK Einfügen von Beschriftungen Einfügen von Eingabefeldern Eigenschaften vom aktivierten Objekt: D.h. im Moment ist das Formular aktiviert, also sind jetzt diese Eigenschaften definiert. Wenn das Eingabefeld aktiviert ist werden diese Eigenschaften angezeigt., Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 9 von 14 (Excel_VBA_Theorie)

Um dem Formular ein Makro zu hinterlegen können einzelne Felder oder Knöpfe angeklickt werden und anschliessend das gewünschte Makro hinterlegt werden. Das kann dann z.b. so aussehen. Private Sub kok_click() ' Wenn der Knopf OK (fok) geklickt wird, schreibt Excel den Wert vom Feld tname ins Feld A1 Range("A1") = tname ' Wenn der Knopf OK (fok) geklickt wird, schreibt Excel den Wert vom Feld tgeburtsdatum ins Feld B1 Range("B1") = tgeburtsdatum 4 Begriff Konvention Es sehr empfehlenswert immer die selbe Namensgebungen für gleiche Objekte zu verwenden. Darum empfehle ich folgende Konvention einzuhalten: Vorzeichen Objekt Beispiel f Formular feingabemaske k Knopf kabbrechen m Makros mdaten_kopieren() t Textfeld tnachname v Variablen vresultat 5 Tipps 5.1.1 Formular automatisch öffnen Um ein Formular sofort beim öffnen einer Datei zu aktivieren kann folgendes Makro hinterlegt werden: Private Sub Workbook_Open() ftestform.show 5.1.2 Fehlerfrei programmieren Schreiben Sie beim Programmieren alles klein. Denn wenn das System eine Variable oder ein Befehl kennt wird diese nach der Eingabetaste automatisch angepasst. Z.B: ftestform.show -> wird automatisch umgewandelt in -> ftestform.show oder vresultat = range("c1") -> wird automatisch umgewandelt in -> vresultat = Range("C1") 5.1.3 Format von Befehlen suchen, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 10 von 14 (Excel_VBA_Theorie)

Schreiben Sie im Editor z.b. offset und markieren Sie das Wort. Anschliessend drücken Sie F1 und schon erhalten Sie die Beschreibung und Beispiele für diesen Befehl. 6 Mustercode 6.1 Beispiel Sub mdatenkopieren() ' ' mdatenkopieren Makro ' Makro am 11.04.2003 von AS aufgezeichnet ' ' ' erstellt neudatei -> Kommt von Einstiegseite Stammdatei = Sheets("einstieg").Range("b17") Pfad = Sheets("einstieg").Range("b21") daten = Range("f1") ' öffnet die Monatsdatei Workbooks.Open FileName:= Pfad & daten, UpdateLinks:=3 Sheets("daten").Select ' Fügt in Monatsdatei eine Zeile ein Rows("4:4").Select Selection.Insert Shift:=xlDown ' Geht zur Stammdatei zurück und holte die Daten Windows(Stammdatei).Activate Zeilenzähler = 2 Do While Cells(Zeilenzähler, 1) <> "" Zeilenzähler = Zeilenzähler + 1 If Cells(Zeilenzähler, 2) <> "" Then Range(Cells(Zeilenzähler, 1), Cells(Zeilenzähler, 5)).Select Selection.Copy ' Geht zur Datendatei und fügt die Daten in Zeile 4 ein. Windows(daten).Activate Range("A4").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= False, Transpose:=False ' fügt wieder eine leere Zeile ein Rows("4:4").Select Selection.Insert Shift:=xlDown ' Geht zur Stammdatei zurück und holte die Daten Windows(Stammdatei).Activate End If, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 11 von 14 (Excel_VBA_Theorie)

Loop ' geht zur Daten-Datei zurück und schliesst sie Windows(daten).Activate Rows("4:4").Select Selection.Delete Shift:=xlUp ActiveWorkbook.Save ActiveWindow.Close mdrucken mschliessenohnespeichern, Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 12 von 14 (Excel_VBA_Theorie)

6.2 Flussdiagramm für Mustercode Datei Informationen werden eingelesen. Monats-Datei wird geöffnet. In der Monatsdatei wird eine Zeile eingefügt. Geht zurück zur Stammdatei. Setzt Zeilenzähler auf 2. Ist Zeile 2 Feld 1 leer? Ja Nein Daten werden in der Stammdatei gelesen. Daten werden in die Monatsdatei geschrieben und eine leere Zeile eingefüht. Zurück zur Stammdatei ein Loop ausgeführt. Monatsdatei wird gespeichert, gedruckt und geschlossen., Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 13 von 14 (Excel_VBA_Theorie)

7 Literaturverweis Titel: VBA mit Excel 2000 lernen Einstieg in die Welt der Makroprogrammierung. Mit CD-ROM Prudenzi, Patrizia S. CHF 39,50 deutsch 2002, 510 S., s/w. Abb., 4. A. Kartoniert/Paperback ISBN 3-8273-1572-7 Addison Wesley (dt. Programm), München Für alle, die Excel programmieren möchten, auch wenn sie bisher keine Programmierkenntnisse haben, ist dieses Buch gedacht. Es vermittelt neben grundlegendem Wissen über die Programmiersprache VBA auch weitreichende Kenntnisse über die objektorientierte Programmierung und das Objektmodell von Excel. Alle Themen, die für die Excel-Programmierung relevant sind, werden ausführlich und mit zahlreichen Beispielen aus der Praxis behandelt. Schwerpunkte sind z.b.: die Entwicklungsumgebung, Elemente der Sprache VBA, Objekte, Ereignisse, Makroaufzeichnung und -anpassung, Erstellen von Dialogen, eigene Symbol- und Menüleisten, eigene Funktionen für die Tabellenblätter, Add-Ins sowie die neuen Möglichkeiten von Excel 2000 wie z.b. das Erstellen von Internet-Dokumenten mit VBA., Team 1 - Technik/Spezialaufgaben, Zürich HB Seite 14 von 14 (Excel_VBA_Theorie)