Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Klassenmodul aus anderer Datei nutzen

Klassenmodul aus anderer Datei nutzen
27.02.2023 12:31:09
Florian
Hallo
habe eine Personal.xlsb angelegt, wo ich Makros sammle, die ich immer wieder brauche.
Meine zahlreichen Kundendateien haben jeweils ein Klassenmodul "clsErsatzteil" eingebaut, auf die einige Makros der Datei zugreifen.
Sub Anfang()
'Dieses Makro bleibt in der Kundendatei
    Call Makro
End Sub
Sub Makro()
'Dieses Makro soll nach Personal.xlsb verschoben werden
    Dim Rad As clsErsatzteil
    
    Set Rad = New clsErsatzteil
    Rad.Gewicht = 12
End Sub

Wenn ich nun wegen der Übersichtlichkeit ein Makro nach Personal.xlsb verschiebe und dieses dann von meiner Kundendateien aufrufe, funktioniert der Zugriff auf das Klassenmodul "clsErsatzteil" nicht.
Gibt es da Abhilfe? Oder muss ich auf die Vorteile von Personal.xlsb verzichten?
LG, Florian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klassenmodul aus anderer Datei nutzen
27.02.2023 13:30:19
Nepumuk
Hallo Florian,
du benötigst eine Funktion in der Mappe, welche die Klasse zurückgibt. Beispiel:
Public Function GetClass()
    Set GetClass = New clsErsatzteil
End Function
Dann das Makro so:
Sub Makro()
'Dieses Makro soll nach Personal.xlsb verschoben werden
    Dim Rad As Object
    
    Set Rad = Application.Run(Activeworkbook.Name & "!GetClass")
    Rad.Gewicht = 12
End Sub
Die IntelliSense geht dabei aber verloren.

Gruß
Nepumuk
AW: Klassenmodul aus anderer Datei nutzen
27.02.2023 14:01:55
Ludwig
Bringt Fehlermeldung:
das Makro kann nicht ausgeführt werden. Es ist möglicherweise in dieser Arbeitsmappe nicht verfügbar oder alle Makros wurden deaktiviert.
Wo soll "Public Function GetClass()" stehen? Habe es in ein Modul geschrieben. Direkt aufrufen kann ich es.
LG, Florian
Anzeige
AW: Klassenmodul aus anderer Datei nutzen
27.02.2023 14:08:17
Nepumuk
Hallo Florian (oder Ludwig ?),
hast du die Funktion auch in deiner Kundendatei, in welcher sich die Klasse befindet? Und warum verschiebst du die Klasse nicht in die PERSONAL?
Gruß
Nepumuk
AW: Klassenmodul aus anderer Datei nutzen
27.02.2023 16:08:22
Ludwig
Ich werde das Ganze grundlegend neu überlegen.
Sicher, es ist naheliegend, die Klasse in personal hzu verschieben, das habe ich auch schon überlegt. Allerdings habe ich sie in jeder Datei unterschiedlich kundenspezifisch angepasst, da ich ständig herum bastle. Vielleicht ist es noch zu früh, oder schon zu spät für eine solch tiefgreifende Änderung.
Deine Antwort jedenfalls ist vorgemerkt und ich werde sie zu gegebener Zeit anwenden. Das Prinzip habe ich ja verstanden. Vielen Dank, sagt Florian
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige