# benutzerdefinierter Typ an Sub byRef übergeben (VBA)



## dreamer2007 (12. Oktober 2007)

Hallo,

ich versuche nun schon seit einiger Zeit im Netz eine Lösung zu folgendem Problem zu finden. Ich habe in VBA eine eigene Klasse geschrieben, die als Properties verschiedene benutzerdefinierte Typen hat.
In einem Dialog-Objekt erzeuge ich eine Objekt dieser Klasse und will dieses eingentliche Klassenobjekt über eine Function manipulieren (also nicht eine Kopie verändern), daher würde ich gerne eine Referenz auf das Objekt übergeben.
Wenn ich das nun mache, kommt eine Fehlermeldung: "Benutzerdefinierter Typ nicht definiert". Ich kann das ganze nun nicht so recht einordnen. Ist denn ein Klassenmodul welches in einem Projekt definiert wurde für eines normales Modul unbekannt und kann deshalb den in der Klasse definierten typ nicht erkennen?

 Die Function sieht folgendermaßen aus:


```
Public Function delete_item(ByRef object As clsSubtask, ByVal index As Interger, _
                                ByVal costs_type As Integer)

End Function
```

clsSubtask ist meine definierte Klasse die insgesamt 4 eingene variablen typen enthält.
im Dialogobjekt habe ich eine Instanz der Klasse erzeugt:


```
Public Subtask As clsSubtask
Private Sub UserForm_Initialize()
     Set Subtask = New clsSubtask
End Sub

Private Sub btn_1_1_del_Click()
     check = delete_item(Subtask, 0, 1)
End Sub
```

Weiß jemand woran das liegt? Oder hat es mal wieder etwas mit der beschnittenen Fähigkeit VBAs zu tun? 


Beste Grüße

dreamer


----------



## dreamer2007 (18. Oktober 2007)

Hab das Problem nun anders gelöst. Statt eine Referenz zu übergeben habe ich das Objekt nun direkt aus der Sub angesprochen mit:


```
dialog.Subtask.methode(parameter1,parameter2)
```


Gruß

dreamer


----------

