ich einen User Defined Type, Entscheidung habe:Wie Array von benutzerdefinierten Typen zurückzukehren, und dann als Argument übergibt in VBA
Public Type Decision
choice As String
cost As Double
End Type
Ich versuche, eine Reihe von meiner UDTs zu verwenden, um die Ergebnisse zu speichern, eines dynamischen Programms (Auswahl und Kosten für eine Bühne/einen Staat).
Public Function DPSolve(arg1, arg2, ...) as Decision
Dim Table() As Decision
ReDim Table(arg1, arg2+ 1)
'do stuff that fills each Table().choice and Table().cost
'return Table()
DPSolve = Table()
End Function
Wenn ich will, um dann das Ergebnis dieser Funktion auf eine neue Funktion übergeben (sagen, drucken Sie die Tabelle() in Excel oder mehr Arbeit tun, um die Tabelle() belegt wird, wie kann ich dies tun ?
ich versuche
Sub Main
Dim x as variant
x = DPSolve(arg1, arg2, ...)
Function2(x)
End Main
aber ich erhalte die folgende Fehlermeldung:
ich versucht habe, x ein Array zu machen, aber ich erhalte eine „ca nicht dem Array "Fehler zuweisen. Ich habe auch versucht, x eine Entscheidung zu treffen, aber das hat auch nicht funktioniert. Der Code befindet sich in einem Modul.
Danke!
Ich habe nie verstanden, warum MS Casting zu Varianten von VT_USERDEFINED nicht unterstützt ... – Comintern
Ich habe dies versucht, aber bekam einen Fehler "kann nicht zu Array zuweisen". Ich glaube nicht, dass Sie Arrays wie a1() = a2() in VBA zuweisen können. Siehe https://msdn.microsoft.com/en-us/library/office/gg264711.aspx – Mark
Sicher haben Sie genau diesen Code ausprobiert? 'Öffentliche Funktion DPSolve (arg1, arg2) Als Decision()' notiere die Klammern hinter 'Decision()'. –