VBA für Einsteiger - MS Excel 2003 (6)
Das Application-Objekt Excel als Container
Das Application-Objekt Excel als Container
Auf dieser Seite
Mit Bild
Nach Ihrer Notation eines Objekts gefolgt mit Punkt werden alle weiteren darin enthaltenen Objekte, Methoden und Eigenschaften automatisch angezeigt. Sie brauchen nur das Passende auszuwählen, z.B.:
Mit Bild

Information über enthaltene Objekte
Mit Bild
Das funktioniert allerdings nur, wenn das Objekt eindeutig erkennbar ist.
Mit Bild

Hilfefenster zur Worksheets-Eigenschaft
Mit Bild
Hilfe erhalten Sie ganz einfach über <F1> nach Markieren des unbekannten Wortes. Beachten Sie dabei immer im Hilfefenster die Hinweise auf Beispiele. Diese sind sehr hilfreich und fördern das Verständnis.
Mit Bild
Die folgende Zuweisung beschreibt sehr deutlich das Wesen eines Containers und ist besonders wirksam.
Mit Bild
Code:
Application.ActiveWorkbook. _
Worksheets("Tabelle3").Range("C5") = _
Application.ActiveWorkbook. _
Worksheets("Tabelle1").Range("A1")
Mit Bild
In der aktuellen Arbeitsmappe wird der Inhalt der Zelle A1 der Tabelle1 gelesen und in C5 der Tabelle3 geschrieben.
Die Angabe von Application ist überflüssig, da wir uns ja im Excel befinden. Genauso braucht man in diesem Fall nicht ActiveWorkbook anzugeben. Die Anweisung reduziert sich somit auf:
Mit Bild
Code:
Worksheets("Tabelle3").Range("C5") = _
Worksheets("Tabelle1").Range("A1")
Mit Bild
Beachten Sie bitte, dass es sich in den letzten beiden Beispielen um jeweils eine Anweisung handelt, die nur als Fortsetzungszeilen geschrieben worden sind.
Eine interessante und nicht unwichtige Eigenschaft ist ScreenUpdating des Application-Objektes. Diese Eigenschaft kann mit False aus- und mit True eingeschaltet werden. Lediglich diese beiden Eigenschaftswerte legen fest, ob der Bildschirm nach jeder Aktion aktualisiert wird oder nicht.
Die folgenden beiden Beispiele sollen Ihnen die Wirkung demonstrieren.
Mit Bild
Beispiel:
Sub Zählen_sichtbar()
Dim I As Long
Worksheets("Tabelle1").Range("B10").ClearContents
Application.ScreenUpdating = True 'Standard
For I = 1 To 10000
Worksheets("Tabelle1").Range("B10") = I
Next
End Sub
Sub Zählen_unsichtbar()
Dim I As Long
Worksheets("Tabelle1").Range("B10").ClearContents
Application.ScreenUpdating = False
For I = 1 To 10000
Worksheets("Tabelle1").Range("B10") = I
Next
Application.ScreenUpdating = True
End Sub
Mit Bild
Starten Sie die beiden Prozeduren von Tabelle1 aus und beachten Sie das Geschehen in Zelle B10 der Tabelle1.
Mit Bild
Vergessen Sie niemals das ScreenUpdating wieder einzuschalten!
Mit Bild
Worksheets("Tabelle1"). _
Range("B10").ClearContents
löscht den Inhalt der Zelle B10.
Aber: Worksheets("Tabelle1") _
.Range("B10").Delete
entfernt diese Zelle!
Mit Bild
Das folgende Bild will einen Eindruck von der Gesamtheit des Application-Objekts von Excel vermitteln.
Mit Bild

Das Application-Objekt von Excel
Mit Bild
Eine weitere Hilfe zur Orientierung bietet der Objektkatalog, den Sie einfach über <F2> oder "Ansicht" - "Objektkatalog" bzw. das Symbol im VBA-Editor erreichen.
Mit Bild

Das Symbol Objektkatalog
Mit Bild
Der erste Anblick des Angebotes des Objektkatalogs erscheint Ihnen vermutlich durch seine Vielseitigkeit zu Beginn als sehr verwirrend.
Mit Bild

Objektkatalog zu Excel
Mit Bild
Um der anfänglichen Unsicherheit zu begegnen, ist es ratsam, zu Beginn die Aktionen mit den Objekten als Makro aufzuzeichnen und die betreffenden VBA-Anweisungen in die gewünschte Prozedur zu kopieren.