Excel VBA Grundlagen



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

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

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

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Excel Allgemeine Infos

Microsoft Access 2010 Bilder

Text-Zahlen-Formatieren

Objekte. Excel Makros und VBA, Seite 2

6. Benutzerdefinierte Zahlenformate

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

Access 2010 Programmierung Import und Export nach Excel

Kennen, können, beherrschen lernen was gebraucht wird

Starten sie WordPad über das Startmenü von Windows. WordPad finden Sie im Ordner Zubehör.

FTV 1. Semester. Spalte A Spalte B Spalte C Spalte D. Zeile 1 Zelle A1 Zelle B1 Zelle C1 Zelle D1. Zeile 3 Zelle A3 Zelle B3 Zelle C3 Zelle D3

xcall White Paper Wählen-Buttons in Excel

2. ZELLINHALTE UND FORMELN

Susanne Weber 1. Ausgabe, 1. Aktualisierung, September Stromkosten, Haushaltsbuch, Finanzierungen & Co. Rechnen und gestalten mit Excel 2010

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Word Kapitel 1 Grundlagen Lektion 1 Benutzeroberfläche

Kurzanleitung JUNG Beschriftungs-Tool

Herzlich willkommen zum Kurs "MS Word 2003 Professional"

Arbeiten mit dem Blattschutz ab EXCEL XP

Dokumentation. estat Version 2.0

Erstellen von x-y-diagrammen in OpenOffice.calc

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Jetzt wird auf die Zahl 2 geklickt und die Höhe der Zeile 2 eingestellt. Die Vorgehensweise ist wie

Inhaltsverzeichnis Dokumentverwaltung Organisation von Dokumenten Ordner erstellen Dokumente im Dateisystem behandeln...

Text Formatierung in Excel

Excel Funktionen durch eigene Funktionen erweitern.

MS Excel 2010 Kompakt

1 MAKROS AUFZEICHNEN. 1.1 EinfÄhrung

Word Aufbaukurs kompakt. Dr. Susanne Weber 1. Ausgabe, Oktober 2013 K-WW2013-AK

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

ECDL 2007 Modul 3 MS Word 2007

PowerPoint: Text. Text

Arbeiten mit Text. Textfelder. PowerPoint Arbeiten mit Text

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Hinweise zum Übungsblatt Formatierung von Text:

Überschrift/Caption. Eigenschaftenfenster

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

3. GLIEDERUNG. Aufgabe:

VBA mit Excel Grundlagen und Profiwissen

esms - sms senden & empfangen mit Outlook

12. Dokumente Speichern und Drucken

Wofür braucht man eine Tabellenkalkulation? Das Programm Microsoft Excel gehört in Softwarekategorie der Tabellenkalkulationen.

Lehrer: Einschreibemethoden

Installations- und Bedienungsanleitung für Macro Excel_Table Version 10

Microsoft Excel 2013 Automatisches Ausfüllen

Mediator 9 - Lernprogramm

Gestaltung und Einrichtung der Word Formatvorlagen Für den Etikettendruck in Ratio (Word Versionen 8.0 und 9.0)

Verfasser: M. Krokowski, R. Dietrich Einzelteilzeichnung CATIA-Praktikum. Ableitung einer. Einzelteilzeichnung. mit CATIA P2 V5 R11

Leere Zeilen aus Excel-Dateien entfernen

Animationen erstellen

SharePoint für Site Owner. Dr. Benjamin S. Bergfort. 1. Ausgabe, 1. Aktualisierung, November 2014 ISBN: SHPSO2013

Zur drittletzten Zeile scrollen

AutoTexte und AutoKorrektur unter Outlook verwenden

1 EINGEBEN UND FORMATIEREN VON DATEN MIT HILFE VON SHORTCUTS (TASTENKOMBINATIONEN) Eingeben von Daten mit Hilfe von Shortcuts...

Process4.biz Release Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

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

Excel Pivot-Tabellen 2010 effektiv

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Arbeiten mit Pivot-Tabellen

Sobald Sie in Moodle einen Textbeitrag verfassen möchten, erhalten Sie Zugang zu folgendem HTML- Texteditor:

Aktivierung von Makros in den Erfassungshilfen

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Dokumentation IBIS Monitor

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

Bauteilattribute als Sachdaten anzeigen

Standard-Formatvorlagen in WORD und WRITER

EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz

Arbeiten mit UMLed und Delphi

Excel-Anwendung Wartungsplan

What s new in sbp 4.4?

Handbuch ECDL 2003 Professional Modul 1: Textverarbeitung Absätze formatieren

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Professionelle Diagramme mit Excel 2013 erstellen. Sabine Spieß Themen-Special. 1. Ausgabe, Dezember 2013 W-EX2013DI

1PROGRAMM VERWENDEN. 1.1 Arbeiten mit Dokumenten Textverarbeitungsprogramm starten, beenden; Dokument öffnen, schließen

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Die besten Excel-Tastenkombinationen im Überblick

Erstellen der Barcode-Etiketten:

Microsoft Access 2010 Navigationsformular (Musterlösung)

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Code des Objektes frmdatenvisualisierung

Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen.

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Einstellen der Makrosicherheit in Microsoft Word

Aktuelles Datum in die markierte/aktive Zelle einfügen Ganzes Tabellenblatt markieren Nächstes Tabellenblatt der Arbeitsmappe aktivieren

Zm Eingewöhnen Aufgabe 1 Schreiben Sie ein Programm, daß Ihren Namen in einem Fenster ausgibt.

GSD-Radionik iradionics Android-App

Aufklappelemente anlegen

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

Projektzeit erfassen. Allgemeines. Projektzeit erfassen - Maske. Erklärung der Tabellenspalten. In Arbeit!

adsl Privat unter Windows XP USB Version

Notizen erstellen und organisieren

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

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

Transkript:

Excel VBA Grundlagen

Code-Gerüst für ein Makro selber schreiben Öffnen Sie mit <ALT>+<F11> den Visual Basic Editor. Klicken Sie auf Einfügen Modul. Es wird ein neues Modul im Codefenster geöffnet. Klicken Sie mit der Maus auf die erste freie Zeile. Die Einfügemarke wird eingeblendet. Geben Sie Sub AusgabeInZelle ein. Bestätigen Sie die Eingabe mit <RETURN>. Die Zeile End Sub sowie die runden Klammern werden automatisch eingefügt. Excel Makros und VBA, 01.04.09 Seite 2

Aktion "Schreibe in Zelle" einfügen Setzen Sie die Einfügemarke zwischen die Anweisung Sub... End Sub. Geben Sie die Anweisung Range("A1").Value = 4 ein. Führen Sie das Makro mit Hilfe von <F5> aus. Excel Makros und VBA, 01.04.09 Seite 3

Programmcode "Wert in eine Zelle schreiben" Option Explicit Sub AusgabeInZelle() Range("A1").Value = 4 End Sub Excel Makros und VBA, 01.04.09 Seite 4

Bestandteile eines Programms Option Explicit Sub AusgabeInZelle() Range("A1").Value = 4 End Sub Prozedur Modul Excel Makros und VBA, 01.04.09 Seite 5

Module und Prozeduren Ein Modul... fasst Code zu einer Aufgabe zusammen.... ist ein Container für viele einzelne Codeschnipsel.... ist ein Buch aus Code. Am Beginn eines Moduls stehen Anweisungen, die für alle Kapitel Gültigkeit haben. Eine Prozedur... fasst eine Gruppe von Anweisungen zusammen.... sind die verschiedenen Kapitel in einem Buch.... können Werte übergeben werden. Jede Prozedur beginnt mit Sub und endet mit End Sub. Excel Makros und VBA, 01.04.09 Seite 6

Aufbau einer Prozedur Beginn der Prozedur Name der Prozedur Werte an die Prozedur übergeben Sub AusgabeInZelle () Range("A1").Value = 4 End Sub Excel Makros und VBA, 01.04.09 Seite 7

Der Prozedurnamen... ist frei wählbar.... kann aus bis zu 255 Zeichen bestehen.... besteht aus Zahlen, den Groß- und Kleinbuchstaben des Alphabets sowie den Unterstrich.... beginnt immer mit einem Buchstaben.... sollte die Aktion widerspiegeln. Excel Makros und VBA, 01.04.09 Seite 8

Anweisungen in Prozeduren Option Explicit Sub AusgabeInZelle() Range("A1").Value = 4 End Sub... sind Aktionen, die der Computer ausführen soll. In diesem Beispiel "Schreibe einen Wert in eine bestimmte Zelle". Pro Zeile steht eine Anweisung. Excel Makros und VBA, 01.04.09 Seite 9

Zuweisungen Range("A1").Value = 4 Mit Hilfe des Gleichheitszeichen wird einem Element ein Wert zugewiesen. Dem Platzhalter links vom Gleichheitszeichen wird der Wert rechts vom Gleichheitszeichen zugewiesen. Der Wert rechts vom Gleichheitszeichen kann auch berechnet werden. Excel Makros und VBA, 01.04.09 Seite 10

Objekte... sind Bestandteile der Anwendung Excel oder anderer Office- Anwendungen.... sind Substantive in einem Text.... haben bestimmte Eigenschaften (Attribute) und Methoden (Prozeduren).... berichten über ihren Zustand und können diesen über Methoden verändern.... reagieren auf Aktionen mit Hilfe von Ereignissen.... werden in einer Baumstruktur abgebildet. Die einzelnen Hierarchie-Ebenen werden durch Punkte miteinander verbunden. Beispiel: Worksheet("Tabelle").Range("A1"). Excel Makros und VBA, 01.04.09 Seite 11

Ausschnitt aus dem Objektmodell Application (Excel; Anwendung) Workbook (Arbeitsmappe) Worksheet (Arbeitsblatt) Charts (Diagramm) Cells (Zellen) Range (Zellbereich) Excel Makros und VBA, 01.04.09 Seite 12

Informationen zum Objektmodell http://msdn.microsoft.com/en-us/library/bb332345.aspx Objektkatalog, integriert im VBA-Editor. Excel Makros und VBA, 01.04.09 Seite 13

Objektkatalog Öffnen Sie mit <ALT>+<F11> den Visual Basic Editor. Klicken Sie auf den Befehl Ansicht - Objektkatalog. Excel Makros und VBA, 01.04.09 Seite 14

Symbole im Katalog Bibliothek Module Konstanten Collections Klassen Eigenschaften Standard-Eigenschaften Methoden Ereignisse Excel Makros und VBA, 01.04.09 Seite 15

Bibliotheken und Objekte Objekte werden in Bibliotheken thematisch zusammengefasst. Wählen Sie aus dem oberen Kombinationsfeld eine Bibliothek (zum Beispiel [Excel]) aus. In der Liste Klassen werden alle Objekte von Excel angezeigt. Wählen Sie zum Beispiel das Objekt [Range] aus. In der Liste Elemente werden alle Eigenschaften und Methoden des ausgewählten Objekts angezeigt. Excel Makros und VBA, 01.04.09 Seite 16

Objekte suchen Wählen Sie aus dem oberen Kombinationsfeld eine Bibliothek (zum Beispiel [Alle Bibliotheken) aus. Geben Sie in das freie Textfeld darunter zum Beispiel <Workbook> ein. Klicken Sie auf das Symbol Fernglas. Anschließend werden eine Liste mit allen Fundstellen eingeblendet. Es wird die Bibliothek, das Objekt sowie das Element angegeben. In Abhängigkeit des ausgewählten Elements werden alle dazugehörigen Objekte und Eigenschaften, Methoden und so weiter angezeigt. Excel Makros und VBA, 01.04.09 Seite 17

Eigenschaften, Methoden und Ereignisse eines... Eigenschaften: Cells (Zellen) Columns (Spalten) Rows (Zeilen) Name Methoden: Activate Delete PrintOut SaveAs Ereignisse: Activate Calculate Change SelectionChange Excel Makros und VBA, 01.04.09 Seite 18

Eigenschaften (Attribute)... beschreiben das Aussehen eines Objekts.... beschreiben einen Gegenstand.... sind statische Werte, die ein Objekt kennzeichnen.... beschreiben den aktuellen Zustand eines Objekts. Eigenschaftswerte können immer gelesen werden. Einige Eigenschaftswerte können mit Hilfe von VBA verändert werden.... werden mit Hilfe des Punktes mit einem bestimmten Objekt verbunden. Excel Makros und VBA, 01.04.09 Seite 19

Methoden (Member, Elementfunktion)... beschreiben das Verhalten eines Objekts.... verändern oder lesen Attribute des dazugehörigen Objekts.... sind Prozeduren, die an ein Objekt gebunden sind.... ermöglichen die Kommunikation mit anderen Objekten.... werden mit Hilfe des Punktes mit einem bestimmten Objekt verbunden. Excel Makros und VBA, 01.04.09 Seite 20

Ereignis (Event).. tritt immer in Verbindung mit einem Objekt auf.... wird vom Nutzer des Objekts ausgelöst.... ist eine Reaktion auf eine Benutzeraktion. Beispiele für Ereignisse: Ein Arbeitsblatt wird aktiviert. Es werden Zellen berechnet. Die Auswahl der Zelle verändert sich. Ein neues Arbeitsblatt wird angelegt. Excel Makros und VBA, 01.04.09 Seite 21

Arbeitsmappen nutzen Sub ArbeitsmappeAktuell() Dim arbeitsmappename As String arbeitsmappename = ThisWorkbook.Name arbeitsmappename = ActiveWorkbook.Name arbeitsmappename = Workbooks(arbeitsmappeName).Name arbeitsmappename = Workbooks("umsatz.xls").Name arbeitsmappename = Workbooks(1).Name End Sub Excel Makros und VBA, 01.04.09 Seite 22

ThisWorkbook und ActiveWorkbook ThisWorkbook... beschreibt die Arbeitsmappe, in der der Code aktuell ausgeführt wird. ActiveWorkbook... beschreibt die aktuell aktive Arbeitsmappe.... ist die vom Benutzer ausgewählte Arbeitsmappe. Beide Objekte können auf unterschiedliche Arbeitsmappen verweisen. Excel Makros und VBA, 01.04.09 Seite 23

Variablen... sind Platzhalter für Werte.... speichern einen bestimmten Typ von Wert Die Werte sind veränderbar.... können Werte zugewiesen bekommen. Definition: Dim arbeitsmappename As String Dim. Wer kann auf die Variable zugreifen? Momentan kann nur innerhalb der Prozedur auf die Variable zugegriffen werden. Der Variablenname ist frei wählbar und einmalig. As leitet die Typisierung der Variablen ein. In diesem Beispiel kann die Variable nur Text (String) aufnehmen. Excel Makros und VBA, 01.04.09 Seite 24

Collections... ist eine Auflistung von Elementen eines bestimmten Typs.... ist eine Auflistung von Objekten mit bestimmten Eigenschaften und Methoden. Zum Beispiel werden alle geöffneten Arbeitsmappen in einer Collection gespeichert.... sind immer an der Mehrzahlschreibweise (s am Ende der Bezeichnung) zu erkennen. Das erste Element in einer Auflistung hat den Index 0 und so weiter. Der Index verändert sich in Abhängigkeit der darin enthaltenen Elemente.... bestehen aus übereinander gestapelten Schachteln. Der Index nummeriert die vorhandenen Schachteln durch. Der Inhalt der Schachteln spielt dabei keine Rolle. Excel Makros und VBA, 01.04.09 Seite 25

Eigenschaften und Methoden einer Auflistung Die Eigenschaft Count gibt die Anzahl der Elemente innerhalb der Auflistung zurück. Die Methode Add fügt ein neues Element am Listenende ein. Die Methode Remove löscht ein Element aus der Liste. Der Index aller nachfolgenden Elemente wird angepasst. Excel Makros und VBA, 01.04.09 Seite 26

Workbooks... listet alle geöffneten Arbeitsmappen auf.... ist eine Zusammenfassung von gleichen Objekten.... ist ein Stapel von allen geöffneten Arbeitsmappen. Workbooks.Count ermittelt die Anzahl der geöffneten Arbeitsmappen. Falls sich Makros oder Code in der persönlichen Makroarbeitsmappe befindet, wird diese immer mitgezählt. Excel Makros und VBA, 01.04.09 Seite 27

Elemente in der Liste Workbooks(1).Name Durch Angabe einer Ganzzahl in den runden Klammern wird ein bestimmtes Objekt in der Liste angesprochen. In diesem Beispiel wird das erste Element in der Liste genutzt. Workbooks(arbeitsmappeName).Name oder Workbooks("umsatz.xls").Name Durch Angabe des Namens wird eine bestimmte Arbeitsmappe aus der Liste ausgewählt. Text wird immer durch Anführungszeichen am Anfang und Ende begrenzt. Excel Makros und VBA, 01.04.09 Seite 28

Name und Speicherort der Arbeitsmappe Workbooks(1).Fullname... gibt den Speicherort und den Namen der Arbeitsmappe zurück.... gibt den vollständigen Pfad zurück. Workbooks(arbeitsmappeName).Path... gibt den Speicherort der Arbeitsmappe zurück. Workbooks(arbeitsmappeName).Name... gibt den Namen der Arbeitsmappe zurück. Excel Makros und VBA, 01.04.09 Seite 29

Arbeitsmappe speichern Sub ArbeitsmappeSpeichern() ' Datei Speichern [aktive Arbeitsmappe] ActiveWorkbook.Save ' Datei Speichern unter [Arbeitsmappe, die zu dem Code gehört] ThisWorkbook.SaveAs ActiveWorkbook.Path & "\umsatz2008.xlsm" '.Saved. Ist die Arbeitsmappe gespeichert? MsgBox "Gespeichert? " & ThisWorkbook.Saved End Sub Excel Makros und VBA, 01.04.09 Seite 30

Informationen für den Benutzer MsgBox "Gespeichert? " & ThisWorkbook.Saved... öffnet ein Dialogfeld. In dem Dialogfeld wird der Text "Gespeichert? " & ThisWorkbook.Saved angezeigt. Text wird immer durch Anführungszeichen am Anfang und Ende begrenzt. Mit Hilfe des kaufmännischen Unds kann Text verknüpft werden. Excel Makros und VBA, 01.04.09 Seite 31

Arbeitsblätter auswählen Sub TabellenblattAktuell() Dim tabellenblattname As String tabellenblattname = ActiveSheet.Name tabellenblattname = Worksheets(1).Name tabellenblattname = Worksheets("Umsaetze").Name End Sub Excel Makros und VBA, 01.04.09 Seite 32

Möglichkeiten ActiveSheet.Name Das aktuell aktive Arbeitsblatt. Das aktive Arbeitsblatt befindet sich im Vordergrund der Arbeitsmappe. Worksheets(1).Name Durch Angabe einer Ganzzahl in den runden Klammern wird ein bestimmtes Objekt in der Liste angesprochen. Workbooks("Umsaetze).Name Durch Angabe des Namens wird ein bestimmtes Arbeitsblatt aus der Liste ausgewählt. Excel Makros und VBA, 01.04.09 Seite 33

Arbeitsblätter einfügen Sub TabellenblattNew() ThisWorkbook.Activate Worksheets.Add ActiveSheet.Name = "DiagrammUmsaetze" Worksheets.Add After:=Worksheets("DiagrammUmsaetze"), Count:=2 Worksheets.Add Before:=Worksheets("DiagrammUmsaetze") End Sub Excel Makros und VBA, 01.04.09 Seite 34

Neues Arbeitsblatt Worksheets.Add... fügt ein Arbeitsblatt vor dem aktuell aktiven Arbeitsblatt ein. Das neue Arbeitsblatt hat die Bezeichnung "Tabelle" plus eine Ziffer. Mit Hilfe der Eigenschaft Name kann diese Bezeichnung verändert werden. Excel Makros und VBA, 01.04.09 Seite 35

... an einer bestimmten Position einfügen Worksheets.Add After:=Worksheets("DiagrammUmsaetze"), Count:=2 Worksheets.Add Before:=Worksheets("DiagrammUmsaetze") Mit Hilfe der Parameter After und Before wird das neue Arbeitsblatt vor oder nach einem bestimmten Blatt eingefügt. Arbeitsblätter können immer nur vor oder nach einem Blatt eingefügt werden. Arbeitsblätter können nicht zwischen zwei Blättern eingefügt werden. Count gibt die Anzahl der einzufügenden Blätter an. Excel Makros und VBA, 01.04.09 Seite 36

Benannte Parameter Worksheets.Add After:=Worksheets("DiagrammUmsaetze"), Count:=2 Worksheets.Add Before:=Worksheets("DiagrammUmsaetze") An eine Prozedur können Parameter übergeben werden. Die Parameter werden innerhalb der Prozedur verarbeitet. Add ist eine vordefinierte Prozedur, der eine bestimmte Anzahl von Parametern übergeben wird. Die Parameter werden in einer Liste zusammengefasst. Die Elemente der Liste werden durch Kommata getrennt. [Parameter] := [Wert]. Der Name des Parameters wird wie eine Variable genutzt, der ein Wert übergeben wird. Für die Übergabe wird der Operator := genutzt. Parameter können optional sein. Das heißt, es muss nicht immer allen Parametern in der Liste ein Wert übergeben werden. Excel Makros und VBA, 01.04.09 Seite 37

Arbeitsblätter löschen Sub TabellenblattDelete() Worksheets("DiagrammUmsaetze").Delete End Sub In einer Arbeitsmappe befindet sich mindestens ein Arbeitsblatt. Falls Arbeitsblätter mit Daten gelöscht werden, wird eine Warnmeldung ausgegeben. Excel Makros und VBA, 01.04.09 Seite 38

Arbeitsblätter aktivieren Sub TabelleCell() Dim zeile As Integer ThisWorkbook.Activate Die, zum Code gehörende Arbeitsmappe wird aktiviert. Worksheets.Add ActiveSheet.Name = "ZeilenNr" Worksheets("ZeilenNr").Activate End Sub Es wird ein neues Arbeitsblatt erzeugt. Der Name wird angepasst. Das neu erstellte Arbeitsblatt wird aktiviert. Excel Makros und VBA, 01.04.09 Seite 39

Zellbereich auswählen Sub TabelleRange() Range("A3").Select Range("A4:D4").Select ' Eine Zelle auswählen ' Ein Zellbereich auswählen Range("A4, C4, D4").Select ' Kombination aus beiden Range("A1, A4:D4").Select End Sub Mit Hilfe der Methode Select wird der angegebene Zellbereich ausgewählt. Excel Makros und VBA, 01.04.09 Seite 40

Zellen auswählen Sub TabelleCell() Dim zeile As Integer ThisWorkbook.Activate Worksheets.Add ActiveSheet.Name = "ZeilenNr" Worksheets("ZeilenNr").Activate zeile = 1 ActiveSheet.Cells(zeile, 1).Value = zeile zeile = zeile + 1 ActiveSheet.Cells(zeile, 1).Value = zeile End Sub Mit Hilfe von Cells wird auf eine bestimmte Zelle im aktiven Arbeitsblatt verwiesen. Die Zelle kann mit Hilfe von Variablen bestimmt werden. Excel Makros und VBA, 01.04.09 Seite 41

Range und Cells nutzen Cells([zeile], [spalte]) verweist auf eine Zelle. Die Zelle wird durch Angabe der Zeile und Spalte ausgewählt. Range("[zellbereich]") verweist auf einen Zellbereich. Für die Spalte wird ein Buchstabe und für die Zeile eine Nummer genutzt. Beispiele: Range("A3") Range("A3:E4") Range("A1, B2, C2") Range("A3:E4, E2") Range("C:E") Range("3:5") Eine Zelle. Zusammenhängender Zellbereich. Nicht zusammenhängender Zellbereich. Kombination aus den vorhergehenden Möglichkeiten. Ganze Spalten nutzen. Ganze Zeilen nutzen. Excel Makros und VBA, 01.04.09 Seite 42

Werte eintragen Sub TabelleWert() ActiveSheet.Cells(1, 1).Value = 1 ActiveSheet.Cells(2, 1).Value = 1.564 ActiveSheet.Cells(3, 1).Value = #5:04:23 PM# ActiveSheet.Cells(4, 1).Value = #12/31/2009# ActiveSheet.Cells(5, 1).Value = "Einkauf" 'Ganzzahl 'Dezimalzahl ' Uhrzeit ' Datum: Monat/Tag ' Text End Sub Excel Makros und VBA, 01.04.09 Seite 43

Werte formatieren With ActiveSheet.Cells(1, 1).NumberFormat = "000" ' 003.NumberFormat = " #,##0.00" ' 1,50; 1.000,50.NumberFormat = "hh:nn" ' 13:30.NumberFormat = "dd. mmmm. yyyy" ' 01. Mai. 2007.NumberFormat = "@" End With ' Einkauf Excel Makros und VBA, 01.04.09 Seite 44

Hinweise Für jedes Zeichen kann ein Formatierungszeichen als Platzhalter genutzt werden. Die Formatierungszeichen werden in der Hilfe von VBA unter dem Stichwort Benutzerdefinierte Datums- und Zeitformate Benutzerdefinierte numerische Formate Benutzerdefinierte Zeichenfolgeformat Des Weiteren gibt es benannte Formatierungen wie General. Excel Makros und VBA, 01.04.09 Seite 45

Formeln in der Landessprache nutzen Sub TabelleFormel() ThisWorkbook.Activate Worksheets("Rechnung").Activate ActiveSheet.Range("C1").FormulaLocal = "=Summe(A1:B1)" End Sub Es wird eine berechnende Zelle erstellt. Die vordefinierten Funktionen werden in der Systemsteuerung gewählten Sprache geschrieben. Excel Makros und VBA, 01.04.09 Seite 46

Hinweise Es können alle vordefinierten Funktionen, die aus Excel bekannt sind, genutzt werden. Die Formel aus der Bearbeitungsleiste wird automatisch mit Hilfe von VBA in die Zellen geschrieben. Eine Formel wird als Text übergeben. Die Formel wird durch Anführungsstriche am Anfang und Ende begrenzt. Text kann mit Hilfe des kaufmännischen Unds verknüpft werden. Zum Beispiel: "Summe: " & Cells(1, 1).Value. Anführungsstriche innerhalb einer Formel müssen durch einen zweiten Anführungsstrich maskiert werden. Zum Beispiel: "=""Summe: "" & SUMME(A1:B1)". Excel Makros und VBA, 01.04.09 Seite 47

International arbeiten Sub TabelleFormel() ThisWorkbook.Activate Worksheets("Rechnung").Activate ActiveSheet.Range("C1").Formula = "=Sum(A1:B1)" End Sub Es wird eine berechnende Zelle erstellt. Die Funktion wird in der englischsprachigen Schreibweise geschrieben. Diese Schreibweise nutzt Excel auch intern. Excel Makros und VBA, 01.04.09 Seite 48

RC-Format für Zellbezüge nutzen Sub TabelleFormel() ThisWorkbook.Activate Worksheets("Rechnung").Activate ActiveSheet.Range("C3").Select ActiveSheet.Range("C3").FormulaR1C1 = "=Sum(RC[-2]:RC[-1])" End Sub In Abhängigkeit der aktuellen Zellen werden die zu addierenden Zellen ermittelt. R bezeichnet Rows (Zeilen) und C Columns (Spalte). Excel Makros und VBA, 01.04.09 Seite 49

Standardformatierung für alle Zellen Sub TabellenblattFormat() ThisWorkbook.Activate Worksheets("Umsaetze").Activate ActiveSheet.Cells.Font.Name = "Courier New" ActiveSheet.Cells.Font.Size = 10 ActiveSheet.Cells.Font.Color = vbred End Sub Die Schrift, die Schriftgröße sowie die Schriftfarbe wird für alle Zellen eingestellt. Excel Makros und VBA, 01.04.09 Seite 50

Einstellungsmöglichkeiten für die Schrift.Font bietet Attribute für die Schriftformatierung der Zelle..Font.Name legt die Schriftart fest..font.size legt die Schriftgröße fest..font.color legt die Schriftfarbe fest..font.bold = True nutzt eine Fettschrift. Der Wert False setzt die Schrift wieder auf Normalschrift..Font.Italic = True nutzt eine Kursivschrift..Font.Underline = False unterstreicht Text. Excel Makros und VBA, 01.04.09 Seite 51

Grundfarben als Farbkonstanten vbblack vbred vbgreen vbyellow vbblue vbmagenta vbcyan vbwhite Excel Makros und VBA, 01.04.09 Seite 52

Ausrichtung von Text in Zellen Sub FormatText() ActiveSheet.Range("A1").Value = 0.26 ActiveSheet.Range("A1").HorizontalAlignment = xlright ActiveSheet.Range("A1").VerticalAlignment = xlcenter ActiveSheet.Range("C1").Value = "Langer Text" ActiveSheet.Range("C1").WrapText = True ActiveSheet.Range("E1").Value = "H. C. Andersen" ActiveSheet.Range("E1:E4").MergeCells = True ActiveSheet.Range("E1:E4").Orientation = 45 End Sub Excel Makros und VBA, 01.04.09 Seite 53

Einstellungsmöglichkeiten Die Einstellungen entsprechen dem Inhalt der Registerkarte Ausrichtung im Dialogfenster Zellen formatieren. Text wird mit Hilfe von HorizontalAlignment und VerticalAlignment in der Zelle ausgerichtet. Mit Hilfe von WrapText wird ein automatischer Zeilenumbruch durchgeführt. MergeCells verbindet die angegebenen Zellen. Falls Orientation... den Wert xlvertical hat, werden die Buchstaben untereinander geschrieben.... einen Wert zwischen -90 und +90 Grad hat, wird der Text in einem schrägen Winkel geschrieben. Excel Makros und VBA, 01.04.09 Seite 54

Rahmen-Formatierungen Sub ZellRahmen() ThisWorkbook.Activate Worksheets("Text").Activate ActiveSheet.Range("A8").Borders.LineStyle = xldot ActiveSheet.Range("A8").Borders.Weight = xlthin ActiveSheet.Range("A8").Borders.Color = vbred ActiveSheet.Range("A9:B9").Borders(xlEdgeRight).Color = vbgreen ActiveSheet.Range("A9:B9").Borders.Weight = xlthick End Sub Excel Makros und VBA, 01.04.09 Seite 55

Hinweise Die Einstellungen entsprechen dem Inhalt der Registerkarte Rahmen im Dialogfenster Zellen formatieren. ActiveSheet.Range("A8").Borders bezieht sich immer auf den gesamten Rahmen. ActiveSheet.Range("A8").Borders(xlEdgeRight). In den runden Klammern wird der Name einer Kante an den Rahmen übergeben. In diesem Beispiel wird die rechte Kante formatiert. Weitere Möglichkeiten: xledgeleft. Linke Rahmenkante. xledgetop. Obere Rahmenkante. xledgebottom. Untere Rahmenkante. xlinsidehorizontal. Innere horizontale Zwischenlinie. xlinsidevertical. Innere vertikale Zwischenlinie. Excel Makros und VBA, 01.04.09 Seite 56

Einstellungsmöglichkeiten LineStyle legt die Linienart fest. Zum Beispiel: xlcontinuous für eine durchgehende Linie. xldot für eine gepunkte Linie. Weight legt die Dicke der Linie fest. Zum Beispiel xlthin für eine dünne Linie. xlmedium für eine mitteldicke Linie. xlthick für eine dicke Linie. Color legt die Rahmenfarbe fest. Excel Makros und VBA, 01.04.09 Seite 57

Inhalt einer Zelle kopieren und einfügen Sub ZellCopy() Worksheets("Umsaetze").Activate ActiveSheet.Range("A3:D3").Copy ActiveSheet.Paste Destination:=Worksheets("U2009").Range("A3:D3") ActiveSheet.Range("A4:A8").Copy _ Destination:=Worksheets("U2009").Range("A4:A8") End Sub Excel Makros und VBA, 01.04.09 Seite 58

Inhalt einer Zelle kopieren ActiveSheet.Range("A3:D3").Copy Der Inhalt der angegebenen Zellen wird in die Zwischenablage kopiert. Mit Hilfe des Parameters Destination kann ein Ablageort für die Kopie angegeben werden. Excel Makros und VBA, 01.04.09 Seite 59

Inhalt in eine Zelle einfügen ActiveSheet.Paste Destination:=Worksheets("U2009").Range("A4:A8") Der Inhalt der Zwischenablage wird den angegebenen Zellbereich kopiert. Der Inhalt der Zwischenablage kann auf einem beliebigen Arbeitsblatt in einem beliebigen Zellbereich eingefügt werden. Excel Makros und VBA, 01.04.09 Seite 60

Zellen löschen Sub ZellCopy() Worksheets("Umsaetze").Activate ActiveSheet.Range("A3").Clear ActiveSheet.Range("A3").ClearContents ActiveSheet.Range("A3").ClearFormats ' Inhalt und Formatierung ' Inhalt ' Formatierung End Sub Excel Makros und VBA, 01.04.09 Seite 61

Programm: Nachricht an Benutzer Option Explicit Sub AusgabeAnBenutzer() MsgBox "Hello...", vbokcancel, "Willkommen" End Sub Es wird eine Dialogbox mit dem Text "Hello" angezeigt. In der Titelleiste der Dialogbox steht "Willkommen" als Hinweis auf die Nutzung. Es werden die Schaltfläche OK und Abbrechen angezeigt. Text wird immer in Anführungszeichen gesetzt. Excel Makros und VBA, 01.04.09 Seite 62

Programm: Ausgabe in das Direktfenster Option Explicit Sub AusgabeDirekt() Debug.Print Range("A1").Value End Sub Es wird der Inhalt der Zelle A1 im Direktfenster ausgegeben. Das Direktfenster wird häufig für die Überprüfung von Werten genutzt. Excel Makros und VBA, 01.04.09 Seite 63

Direktfenster Öffnen Sie das Direktfenster mit Hilfe des Menüs Ansicht Direktfenster. In diesem Fenster... kann der Ablauf eines Programms in einem gewissen Umfang protokolliert werden.... können Prozeduren oder Anweisungen getestet werden. Mit Hilfe von <STRG>+<A> wird der gesamte Inhalt des Direktfensters markiert. Mit Hilfe der Taste <ENTF> kann der markierte Inhalt im Direktfenster gelöscht werden. Excel Makros und VBA, 01.04.09 Seite 64

Eingaben in das Direktfenster Geben Sie die Anweisung?Range("A1").Value in eine freie Zeile im Direktfenster ein. Schließen Sie die Anweisung mit <RETURN> ab. In der nächsten Zeile wird der Wert der Zelle A1 angezeigt. Die Anweisung Range("A1").Value = 5 verändert den Wert in der Zelle A1. Excel Makros und VBA, 01.04.09 Seite 65