Eigene Klassen

Hallo Experten,

ihr wisst selbst wie das ist wenn man etwas Neues erlernt. Man sucht sich Infos zusammen und experimentiert dann damit rum bis was halbwegs Sinnvolles UND Funktionierndes herauskommt dabei. Wenn man dann Fragen hat, dann sind sie meist total konfus und man wirft dabei Äpfel und Birnen durcheinander. So ähnlich wird es mit meinen Fragen auch sein:

Ich möchte jetzt endlich mal lernen, eigene Klassen zu erstellen und damit zu arbeiten. Dazu habe ich ein paar Funktionen, die ich bisher in einer Autostart-Mappe hatte, in eine eigene Klasse verfrachtet und kann sie jetzt per

Set x As New clsZellfunktionen
y = x.FunctionA

starten. Diese Funktionen sollen dann (wie bisher) per Code aufgerufen werden und Teilaufgaben von größeren Makros übernehmen (es handelt sich also NICHT um Tabellenfunktionen). Da diese Autostart-Mappe wächst und wächst und ich, wenn ich aus anderen Mappen Funktionen daraus aufrufen möchte, immer erst einen Verweis zu dieser Mappe einrichten muß, möchte ich die Funktionen dieser Klasse jetzt in ein Add-In auslagern. Leider hapert es im Moment daran, daß ich diese Funktionen dann nicht ansprechen kann.

Wie kann ich diese Funktionen ansprechen? Ich habe sie im Moment in einem Add-In vom Typ „XLAM“ abgelegt. Klappt es damit überhaupt? Oder bin ich insgesamt auf dem Holzweg.

Eine zweite Frage: Um Eigenschaften einer Klasse bestimmte Werte zuzuweisen, kann ich das doch entweder per Let machen (wenn als Private deklariert) oder einfach per

x.EigenschaftA = 25

wenn als Public deklariert. Der erste Weg per Let/Get ist aber doch viel umständlicher als der zweite Weg. Warum ist dann der erste trotzdem der übliche?

Vielen Dank
Martin

PS:
Vielleicht habt ihr einen Link parat, wo die Sache mit den Klassen „einfach“ erklärt wird. Ihr braucht aber nicht groß gugeln danach. Das habe ich auch schon bis zum Erbrechen…

Einen interessanten Link habe ich jetzt doch noch gefunden:

http://www3.fh-swf.de/fbm/jacobi_w/download/Grundlag…

Seite 301ff. Was das Wichtigste daran ist: da gibt es ein paar ausführliche Beispiele.

Martin