Eigener Variablentyp als Array aus Function zurück

Hallo,

Ich habe in einem Excel-VBA-Projekt einen eigenen Variablentyp erzeugt:

Type Eintrag
sTag As String
sStunden As String
sAnfZeit As String
sEndZeit As String
sBeschreibung As String
End Type
Type pProjektVerw
AsNummer As String
Eintrag() As Eintrag
End Type

jetzt würde ich gerne aus einer Function diesen Typ wieder als Array zurückgeben:

Function PPRJGetpProjektVerwOfThisDays(iFirstDay As Integer, iLastDay As Integer) As pProjektVerw

irgendwann wird Typ verwendet…

Dim Projekt() As pProjektVerw
ReDim Preserve Projekt(0)
ReDim Preserve Projekt(0).Eintrag(0)

…und gefüllt

Projekt(I).Eintrag(UBound(Projekt(I).Eintrag)).sAnfZeit = CStr(wbDatenbank.Range(„C“ & CStr(Finden.Row)).Value)

**… funktioniert auch alles wunderbar…

jedoch kann ich diese Variable nicht zurückgeben (oder ich weiss nicht wie…**


… evtl Variablenrückgabe ala…
PPRJGetpProjektVerwOfThisDays = Projekt
End Function

**… funktioniert nicht wirklich

Aufruf aus Program…:
==>**


Sub testttt()
Dim Pro As pProjektVerw
Pro = PPRJGetpProjektVerwOfThisDays(1, 31)
End Sub

geht leider nicht…

Ist es möglich diesen Variablentyp als Array irgendwie aus der Function wiederzubekommen???

Hi,

jedoch kann ich diese Variable nicht zurückgeben (oder ich
weiss nicht wie…

… evtl Variablenrückgabe ala…
PPRJGetpProjektVerwOfThisDays = Projekt
End Function

Ein Array kannst Du so nicht zurückgeben.
Mal vereinfacht und von Deinem Projekt abgekoppelt:

Option Explicit

Private Sub Command1\_Click()
 Dim arrA(9) As Integer
 Dim arrB(9) As Integer
 arrB = arrA
End Sub

Das funktioniert nicht. Eine Zuweisung an ein Array ist nicht möglich.

Richtig angefangen hast Du denn:

Option Explicit

Private Type Feld
 arr(9) As Integer
End Type

Private Sub Command2\_Click()
 Dim fldA As Feld
 Dim fldB As Feld
 fldB = fldA
End Sub

Das geht. Du musst dieses Arry auch noch in eine eigene Variable packen.

Gruß Rainer