Llame a la función VBA que devuelve el tipo personalizado de la hoja de cálculo

Tengo una función vba que devuelve un tipo de datos personalizado, definido como:

Public Type stockValue
        stock As String
        value As Double
End Type

Mi pregunta es ¿cómo trato con esto cuando llamo a la función desde una celda de hoja de cálculo? por ejemplo, digamos que quiero que la celda muestre elstock valor, lo intenté=function().stock y no funciona

Cualquier ayuda es apreciada, gracias!

Function getLowestPnl(strat As String, rank As Integer) As stockValue

    Call Conecta_DB(conexao)
    Set registros = New ADODB.Recordset

    strSQL = "SELECT stock,sum([value]) FROM Reports.dbo.Entry WHERE idStrategy='" & strat & "' and idType=1 GROUP BY stock  ORDER BY sum([value])"
    'strSQL = "SELECT [finance],[sales],[management],[research],[administration] FROM [COS].[dbo].[Complementarity] WHERE [idCompany] =" & idCompany & " and [year]=" & year & " and [CEO]=1"

    registros.Open strSQL, conexao, adOpenStatic, adLockOptimistic

    parar = False
    If Not registros.EOF Then

        x = registros.GetRows()
        i = 0
        Do While parar <> True

            If i = (rank - 1) Then
                getLargestShortExp.stock = Trim(x(0, i))
                getLargestShortExp.value = x(1, i)
                parar = True
            End If
            i = i + 1
        Loop

    End If

    registros.Close
    getLowestPnl = ret
End Function

Respuestas a la pregunta(1)

Su respuesta a la pregunta