Solo el tipo definido por el usuario definido en los módulos de objetos públicos se puede forzar al intentar llamar a una función VBA externa

Estoy tratando de llamar a una función de Access desde Excel y obtengo este error:

Error de compilación: solo los tipos definidos por el usuario definidos en los módulos de objetos públicos se pueden forzar hacia o desde una variante o pasar a funciones enlazadas tarde.

Traté de adoptar estosolución Encontré, pero sin suerte. Aquí está mi código:

En el Módulo Excel Estadísticas Externas

Option Explicit

    Public Type MyExternalStatistics
        esMyInvites As Single
        esMyInvitePerTalk As Single
    End Type

Public MyExtRecStats As MyExternalStatistics

En el 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

En el Módulo de Acceso Estadísticas Externas

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

No le gusta elMyExtRecStats = .Run("ExternalRecruitingStats", RecruitWindow) declaración. Eventualmente me gustaría asignar varios conjuntos en la función de Acceso y traerlos de vuelta con un solo objeto. Entonces puedo colocar esos valores donde deberían estar en la hoja de cálculo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta