Datenschutzerklärung


Excel-Beispiele:
Erklärungen, Formeln, VBA-Code und mehr

Hinweise zu den Beispielen finden Sie hier: Beispiele


Kategorie: Tipp > Excel > VBA > OOP (7)

Direktnachricht



Objektorientierte Programmierung

(Tipp 214) Nachricht zum Beitrag an Autor Nach oben

In den Foren wird immer wieder nach den Nachteilen von Select und Activate gefragt oder es wird darauf eingegangen. Fakt ist: Diese Anweisungen sollte man vermeiden, wo es immer geht. Der Grund ist, dass man Blätter und Zellen immer erst aktivieren muss, wenn man mit ihnen arbeitet. Das ergibt nicht nur ein unschönes Bildschirmflackern (das man allerdings abstellen kann), sondern sorgt durch die Rechenbelastung auch dafür, dass die Routinen stark verlangsamt werden. Außerdem spart man sich viel Code, wenn man Objekte direkt anspricht; die Programmierung wird also viel übersichtlicher.

Objekte, Eigenschaften und Methoden

(Tipp 215) Nachricht zum Beitrag an Autor Nach oben

Es ist nicht leicht, auf eine Variante ohne Select und Activate umzusteigen, aber es lohnt sich.

Vielleicht erstmal etwas Grundsätzliches:

Um objektorientiert zu programmieren muss man wissen, was in Excel Objekte sind: Mappen, Tabellen, Spalten, Zeilen, Zellen, Userformen, usw.

Jedes Objekt hat Eigenschaften.
Das heißt, man kann die Frage stellen: Wie ist es? Im Vergleich zu einem Auto kann man also fragen: Wie ist die Farbe des Autos?

Jedem Objekt stehen aber auch Methoden zur Verfügung.
Dann kann man die Frage stellen: Was soll damit geschehen? Beim Auto wäre das: Was soll das Auto machen?

Syntax

(Tipp 216) Nachricht zum Beitrag an Autor Nach oben

Wenn man Objekte mit deren Methoden und Eigenschaften verbinden möchte, geschieht dies grundsätzlich erstmal mit einem Punkt. Dabei wird zuerst das Objekt geschrieben, dann der Punkt und dann die Methode/Eigenschaft.

Beispiel Methode:

Beispiel Eigenschaft:



Objekt und Unterobjekt

(Tipp 217) Nachricht zum Beitrag an Autor Nach oben

Viele Objekte können aus weiteren bestehen. Wenn man von einem Objekt auf ein Unterobjekt eines anderen Objektes zugreifen möchte, muss man immer zuerst das übergeordnete Objekt und dahinter mit einem Punkt das untergeordnete Objekt schreiben.

Beispiel: Ein Auto hat ein Schloss. Wenn man den Schlüssel reinsteckt, würde man schreiben:

Sitzt man aber in einem anderen Auto und möchte von dort aus sein Auto mit einer Fernbedienung öffnen, müsste man schreiben:

Schließlich steht man ja in dem Moment nicht an seinem Auto und muss deshalb sagen, welches Autoschloss geöffnet werden soll.

Besonderheit bei den Eigenschaften

(Tipp 218) Nachricht zum Beitrag an Autor Nach oben

Der Punkt spielt bei Objekten immer eine zentrale Rolle. Bei den Eigenschaften kommt noch das Gleichheitszeichen hinzu. Man nennt das Objekt, danach hinter einem Punkt die Eigenschaft und dann nach einem Gleichheitszeichen, wie die Eigenschaft sein soll.

Beispiel:

Dies gilt in VBA sowohl für Abfragen als auch für Zuweisungen. Man kann also mit dieser Syntax abfragen, ob ein Auto rot ist; man kann aber auch dem Objekt Auto die Farbe Rot zuweisen.

Beispiele

(Tipp 219) Nachricht zum Beitrag an Autor Nach oben

Zuerst drehen wir in der aktiven Mappe auf dem Blatt Eplan6 den Text:

Dann drehen wir in der xyz.xls, die natürlich offen sein muss, den Text:

Und jetzt weisen wir an, dass A1 von der Tabelle1 der aktiven Mappe in die xyz.xls in die Tabelle2 in A1 kopiert werden soll (in einer Zeile):

Das geht alles ohne »select« und »activate«.

Zweite Beschreibung OOP

(Tipp 220) Nachricht zum Beitrag an Autor Nach oben

Anders ausgedrückt:

Beispiel:

Also: Aktive Mappe.schließen. Das ist Objekt.Methode.

Weiterhin kann man auch schreiben

Beispiel:

Also: Anwendung.Bildschirmaktualisierung = wahr. Das wäre dann Objekt.Eigenschaft.