2 Objektmodell Objekte Application - Workbook

Transcription

2 Objektmodell Objekte Application - Workbook
VBA Objektmodell
Informationsblatt 02
VBA/Excel
Objektmodell in VBA:
Das Application-Objekt
Wichtige Eigenschaften
ActiveWorkbook
Es wird auf die aktive Arbeitsmappe verwiesen.
ActivePrinter
Hiermit haben Sie Zugriff auf den Namen des aktuellen Druckers.
Addlns
Diese Auflistung erlaubt den Zugriff auf die installierten Add-lns.
Dialogs
Diese Auflistung erlaubt den Zugriff auf die vordefinierten Dialoge (z. B. der Dialog
Optionen; Application.Dialogs (xlDialogOptionsEdit).Show).
DisplayAlerts
Über diese Eigenschaft steuern Sie das Verhalten von Excel zur Anzeige von Fehlern, Warnungen und Meldungen. Wenn Sie einen automatisierten Ablauf nicht
durch die Anzeige eines Dialogfensters unterbrechen möchten (das durch den Anwender geschlossen werden muss), setzen Sie den Wert dieser Eigenschaft auf den
Wert False (Standardwert ist True).
Workbooks
Diese Auflistung erlaubt den Zugriff auf die geöffneten Arbeitsmappen.
FileDialog
Um Dateien über Dialogfenster zu öffnen oder zu speichern, verwenden Sie dieses
Objekt.
FileSearch
Dieses Objekt erlaubt die Suche nach Dateien.
TemplatesPath
Liefert den lokalen Pfad, unter dem Vorlagen gespeichert sind
Screenupdating
Führen Sie durch VBA Änderungen in einer Arbeitsmappe durch, wird deren Bildschirmdarstellung in Excel fortlaufend aktualisiert. Um die dafür notwendige Rechenzeit zu minimieren, können Sie diese Aktualisierung für den Ablauf des Makros/VBA-Codes abschalten.
Selection
Die Eigenschaft Selection markiert die aktuelle Einfügeposition oder den aktuell
markierten Bereich eines Arbeitsblattes.
StatusBar
Um einen eigenen Text in der Statuszeile anzuzeigen, nutzen Sie diese Eigenschaft.
Visible
Über diese Eigenschaft lässt sich die gesamte Excel-Anwendung verbergen bzw.
anzeigen.
Wichtige Methoden
ActivateMicrosoftApp
Eine Microsoft-Anwendung wird aktiviert. Wird diese Anwendung bereits ausgeführt, erfolgt die Aktivierung des Anwendungsfensters.
Bsp.: Word soll geöffnet werden:
Application.ActivateMicrosoftApp Index:=xlMicrosoftWord
Calculate
Diese Methode berechnet alle geöffneten Arbeitsmappen, wenn sie für das
Application-Objekt aufgerufen wird.
Quit
Excel wird beendet.
Run
Über diese Methode können Sie andere Makros aufrufen
VBA Objektmodell
Informationsblatt 02
VBA/Excel
Objektmodell in VBA:
Arbeitsblätter
Wichtige Eigenschaften des Range-Objekts
Cells
Auflistung, welche die Zellen des Bereichs enthält
Columno Columns
Gibt die erste Spalte oder eine Auflistung aller Spalten des Bereichs zurück
Row, Rows
Gibt die erste Zeile oder eine Auflistung aller Zeilen des Bereichs zurück
Borders
Auflistung, welche den Rahmen des Zellbereichs darstellt. Über Unterobjekte können Sie den Rahmenlinientyp und die Farbe einstellen.
Interior
Liefert den Innenbereich der Zellen des Bereichs. Über die Eigenschaft Colorlndex
oder Color kann beispielsweise die Hintergrundfarbe der Zellen festgelegt werden.
Offset
Über diese Eigenschaft ist es möglich, einen um die als Parameter angegebenen
Zeilen und Spalten versetzten Bereich zu erzeugen.
Font
Gibt ein Font-Objekt zurück, über dessen Unterobjekte und Eigenschaften Sie die
Schriftart, den -stil und die -färbe ändern können
EntireRow.RowHeight
EntireRow.AutoFit
Ermitteln oder Festlegen der Zeilenhöhe Optimale Zeilenhöhe festlegen
EntireColumn.ColurnnWidth Ermitteln oder Festlegen der Spaltenbreite Optimale Spaltenbreite festlegen
EntireColumn.AutoFit
Formula, FormulaLocal
Ermittelt die Formel des Objekts oder legt sie fest
Wichtige Methoden des Range-Objekts
Copy
Kopiert das Range-Objekt in die Zwischenablage
Cut
Kopiert das Range-Objekt in die Zwischenablage und entfernt es aus dem Original
PasteSpecial Fügt ein in die Zwischenablage kopiertes Range-Objekt ein
Clear
Löscht den Inhalt des Range-Objekts
Dolete
Löscht das Range-Objekt
Find
Sucht nach bestimmten Informationen im Bereich des Range-Objekts und liefert die erste
Zelle mit diesem Inhalt als Range-Objekt zurück
Insert
Fügt eine oder mehrere Zellen ein. Die anderen Zellen werden so verschoben, wie es
über den ersten Parameter festgelegt wird.
Select
Markiert den Bereich des Range-Objekts
AutoFill
Füllt automatisch weitere Zellen einer Reihe
Zeilen und Spalten
Sie möchten…
Anweisung (Beispiel)
Eine Zelle auswählen
Rows(“2:2“)
Eine Spalte auswählen
Columns(“A:A”)
Mehrere einzelne Zeilen auswählen
Range(“2:2, 4:4, 6:6”)
Mehrere einzelne Spalten auswählen
Range(“A:A, C:C, F:F”)
Mehrere verbundene Zeilen auswählen
Rows(“1:3”)
oder
Range(Rows(1), Rows(3))
Mehrere verbundene Spalten auswählen
Columns(“A:C”)
oder
Range(Columns(1), Columns(3))
VBA/Excel
Beispiel:
Die folgende Prozedur
ZeileFuellen formatiert die
Zellen der dritten Zeile des
Arbeitsblattes Tabelle3.
Weiterhin werden die Zellen A3
bis Z3 mit fortlaufenden
Wochentagen ausgefüllt:
VBA Objektmodell
Arbeitsblatt 02
Sub ZeileFuellen()
Sheets("Tabelle3").Activate
Rows("3:3").Select
Selection.RowHeight = 20
Selection.Interior.Color = RGB(100, 240, 255)
Selection.Borders.Color = vbBlue
Selection.BorderAround ColorIndex:=31, Weight:=xlThick
Selection(1, 1).Activate
ActiveCell = "Montag"
ActiveCell.AutoFill Destination:=Range("A3:Z3"), Type:=xlFillValues
End Sub
Übungsaufgaben:
1. Öffnen Sie eine neue leere Excel-Datei und erstellen Sie im VBA-Editor ein
neues Modul (Einfügen – Modul). Speichern Sie die Datei unter einem
neuen Namen.
Erstellen Sie das Modul SpalteFuellen. Es soll in der ersten Zeile des
Arbeitsblattes Tabelle1 das aktuelle Tagesdatum eintragen und das
Datum weiterer 29 Tage nach unten ausfüllen.
Färben Sie jede Zelle, deren Datum ein Sonntag ist, rot
(Tipp: If Weekday(Bereich(i, 1).Value) = vbSunday Then…).
Fügen Sie unter jede Datumszeile eine Leerzeile ein.
(Tipp: Bereich(i, 1).Insert Shift:=xlShiftDown
2. Erstellen Sie eine Prozedur,
die einen vorgegebenen Bereich mit
Zufallszahlen füllt.
Tragen Sie dazu die Formel Rand()
in jede Zelle des Bereichs ein.
Die Anzahl der Zeilen und Spalten
des Bereichs soll vorher vom
Benutzer eingegeben werden.
Färben Sie diesen Bereich mit der Funktion RGB(120, 200, 255)
Lassen Sie unterhalb des Bereichs eine Zeile frei. Tragen sie die Summe aller Zeilen
dieser Spalte in die nächste Zeile ein. Hinterlegen Sie die Ergebniszeile mit der Farbe Magenta.
Tipp: Falls Sie einen Code mal nicht wissen: an dieser Stelle auf F1 drücken => Hilfe
oder
in Excel Makro aufzeichnen, die passenden Klicks ausführen, Makro beenden und Makro-Code kopieren…

Documents pareils