Somente o tipo definido pelo usuário definido nos módulos de objeto público pode ser coagido ao tentar chamar uma função VBA externa

Estou tentando chamar uma função do Access do Excel e obtém este erro:

Erro de compilação: Somente tipos definidos pelo usuário, definidos em módulos de objetos públicos, podem ser coagidos para ou de uma variante ou passados para funções de ligação tardia.

Eu tentei adotar issosolução Eu encontrei, mas sem sorte. Aqui está o meu código:

No módulo Excel ExternalStatistics

Option Explicit

    Public Type MyExternalStatistics
        esMyInvites As Single
        esMyInvitePerTalk As Single
    End Type

Public MyExtRecStats As MyExternalStatistics

No objeto Sheet1 (A-Crunched Numbers):

Option Explicit

Public appRecruitingAccess As Access.Application

Public Sub Worksheet_Activate()
    Dim MyExtRecStats As MyExternalStatistics
    Dim RecruitWindow As Integer
    Dim test As String 

    Set appRecruitingAccess = New Access.Application
    With appRecruitingAccess
        .Visible = False
        .OpenCurrentDatabase "C:\Dropbox\RECRUITING\Remote0\Recruiting 0.accdb"
        RecruitWindow = DateDiff("d", Format(Date, Worksheets("ActivityAndIncentive").Range("IncentiveStart").Value), Format(Date, Worksheets("ActivityAndIncentive").Range("IncentiveEnd").Value))
        RecruitWindow = DateDiff("d", Format(Date, Worksheets("ActivityAndIncentive").Range("IncentiveStart").Value), Format(Date, Worksheets("ActivityAndIncentive").Range("IncentiveEnd").Value))
        MyExtRecStats = .Run("ExternalRecruitingStats", RecruitWindow) '*** ERROR HERE ***
        .CloseCurrentDatabase
        .Quit
    End With
    Set appRecruitingAccess = Nothing
End Sub

No Módulo de acesso ExternalStatistics

Option Compare Database
Option Explicit

Public Type MyExternalStatistics
    esMyInvites As Single
    esMyInvitePerTalk As Single
end Type

Public Function ExternalRecruitingStats(StatWindow As Integer) As MyExternalStatistics 
    Dim MyRecStats As MyExternalStatistics
    Dim Invites As Integer, Talks As Integer

    Invites = 1
Talks = 2

    With MyRecStats
        .esMyInvites = CSng(Invites)
        .esMyInvitesPerTalk = CSng(Invites/Talks)
    End With
    ExternalRecruitingStats = MyRecStats 'return a single structure
End Function

Não gosta doMyExtRecStats = .Run("ExternalRecruitingStats", RecruitWindow) declaração. Eu gostaria, eventualmente, de atribuir vários conjuntos na função Access e trazê-los de volta com um único objeto. Então eu posso colocar esses valores onde eles devem estar na planilha.

questionAnswers(1)

yourAnswerToTheQuestion