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…