öffentlich
Redaktion Druckversion

VBA für Einsteiger - MS Excel 2003 (6)

Das Application-Objekt Excel als Container

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.:

Information über enthaltene Objekte

Das funktioniert allerdings nur, wenn das Objekt eindeutig erkennbar ist.

Bild vergrößernHilfefenster zur Worksheets-Eigenschaft

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.

Die folgende Zuweisung beschreibt sehr deutlich das Wesen eines Containers und ist besonders wirksam.

Code:

Application.ActiveWorkbook. _

Worksheets("Tabelle3").Range("C5") = _

Application.ActiveWorkbook. _

Worksheets("Tabelle1").Range("A1")

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:

Code:

Worksheets("Tabelle3").Range("C5") = _

Worksheets("Tabelle1").Range("A1")

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.

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

Starten Sie die beiden Prozeduren von Tabelle1 aus und beachten Sie das Geschehen in Zelle B10 der Tabelle1.

Vergessen Sie niemals das ScreenUpdating wieder einzuschalten!

Worksheets("Tabelle1"). _
Range("B10").ClearContents
löscht den Inhalt der Zelle B10.
Aber: Worksheets("Tabelle1") _
.Range("B10").Delete
entfernt diese Zelle!

Das folgende Bild will einen Eindruck von der Gesamtheit des Application-Objekts von Excel vermitteln.

Das Application-Objekt von Excel

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

Das Symbol Objektkatalog

Der erste Anblick des Angebotes des Objektkatalogs erscheint Ihnen vermutlich durch seine Vielseitigkeit zu Beginn als sehr verwirrend.

Objektkatalog zu Excel

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.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Inhalt

Downloads zu diesem Beitrag

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren