Type no coincide al pasar la variable de cadena al parámetro Variant y asignar el resultado de la función Array al parámetro

Tengo los dos procedimientos siguientes:

Sub OuterSub()
    Dim s As String
    s = "Lorem ipsum dolor sit amet"
    InnerSub s
End Sub

Sub InnerSub(prm As Variant)
    prm = Array(prm)
End Sub

Cuando corroOuterSub, Obtengo el siguiente error enprm = Array(prm) inInnerSub:

Error en tiempo de ejecución '13': tipo no coincide

Esto solo sucede cuando paso una variable escrita comoString. Cualquiera de las siguientes alternativas no produce el error:

Definings inOuterSub como una constante:
Const s = "Lorem ipsum dolor sit amet"Passing en una cadena literal:
InnerSub "Lorem ipsum dolor sit amet"Definings inOuterSub como unVariant:
Dim s As Variant

Definings como cadena de longitud fija no ayuda.

¿Por qué está pasando esto? ¿Cómo puedo solucionarlo?

Actualiza

Declarando un @ locString variable dentro deInnerSub tampoco ayuda:

Sub InnerSub(prm As Variant)
    Dim s As String
    s = prm
    prm = Array(s)
End Sub

nor ajusta el parámetro entre paréntesis:

Sub InnerSub(prm As Variant)
    prm = Array((prm))
End Sub

Respuestas a la pregunta(2)

Su respuesta a la pregunta