VBA darf man nicht mit VB verwechseln. Das sind im Grunde zwei unterschiedliche paar Schuhe, auch wenn beide die selbe Syntax teilen und da liegt die Falle: Während VB doch objektorientiert ist, ist VBA für prozedurale Entwicklung gedacht. Es gibt zwar in VBA sowas wie Klassen und Objekte aber es gibt keine Vererbungen oder keine Interfaces.
Nein, es ist eine Prozedur. Die nennen sich nur Unterprogramm. Methoden werden in zwei Arten unterteilt:Zitat
- Unterprogramme: Sie haben keinen Rückgabewert
- Funktionen: Sie haben einen Rückgabewert
Ich verstehe nicht, was du meinst. Das geht doch.Zitat
Das ist nicht korrekt. Wie auch in allen anderen OOP-Sprachen, muss das Objekt existieren. Also muss es auch irgendwo instanziiert und gehalten werden. In anderen OOP-Sprachen spricht man von Klassenvariablen oder Klassenmember und du kannst pro Modul solche Variablen/Member anlegen, die auch nur im Modul sichtbar sind und nicht global.Zitat
Wie gesagt, VBA ist keine richtige objektorientierte Sprache. VBA wird auch nicht wirklich von Softwareentwicklern verwendet, sondern überwiegend von Endanwender, die sich damit irgendwas zurecht frickeln und sich auch gar nicht mit Objektorientierung auskennen. Wir haben da inzwischen auch einige Projekte am Laufen, weil unsere Kunden die Aufforderung bekommen, ihre Prozesse, die sie überwiegend mit Excel-Makros gelöst haben, in eine standardisierte und dokumentierte Software zu überführen und was man da sieht, ist echt gruselig.Zitat
Microsoft prüft gerade, ob sie Python nicht als offizielle Sprache in Excel einführen wollen:Zitat
https://www.bleepingcomputer.com/new...uage-to-excel/
Gleichfalls.![]()