Excel / VBA - Función de coincidencia de índice utilizando rangos dinámicos

¿Cómo usar efectivamente unIndex/Match fórmula en VBA?

Antecedentes: tengo una hoja de trabajo que se basa en gran medida en el uso de una fórmula que recupera una salida basada en la coincidencia de un nombre específico con su rango de nombres, así como una fecha específica para su rango de fechas.

=INDEX(OutputRange,MATCH(1,(Name=NameRange)*(Date=DateRange),FALSE),1)

Además, hay un sub VBA codificado que produce la misma salida

Sub ExampleHardCode() 
Dim Result As Variant
  Result = Evaluate("INDEX($C$4:$C$13,MATCH(1,($G$6=$A$4:$A$13)*($G8=$B$4:$B$13),FALSE),1)")
  ActiveCell.Value = Result
End Sub

Pregunta: Me gustaría producir una función que devuelva la misma salida que las opciones anteriores pero que permita al usuario (i) seleccionar los valores de Nombre y Fecha haciendo referencia a las celdas respectivas y (ii) seleccionar cada rango (rango de nombre, rango de fecha) y rango de salida). Esencialmente utilizando = examplefunction (valor de nombre, rango de nombre, valor de fecha, rango de fecha, rango de salida) en Excel.

He probado varias soluciones diferentes pero sin éxito. A continuación se muestra un ejemplo de lo que he intentado hasta ahora, creo que hay un problema con la parte de coincidencia, ya que incluso cuando trato de establecer los rangos (con rangos codificados), devuelve un error.

Function TestIndexMatch1(NameVal As Variant, DateVal As Date)

Dim NameRng As Range
Dim DateRng As Range
Dim OutputRng As Range
Dim Var1 As Variant  'should this be a range or integer?
Dim Result As Variant 

Set NameRng = Range("$A$4:$A$13")
Set DateRng = Range("$B$4:$B$13")
Set OutputRng = Range("$C$4:$D$13")

With Application.WorksheetFunction
    Var1 = .Match(1, (NameVal = NameRng) * (DateVal = DateRng), False)
    Result = .Index(OutputRng, Var1, 1)
End With
End Function

Tengo un libro de trabajo de ejemplo si ayuda puedo compartir. No estoy seguro de si esto es muy factible, pero si lo fuera, realmente ayudaría a muchos usuarios que no están lo suficientemente familiarizados con excel para usar la fórmula de indexar / igualar excel correctamente. Desafortunadamente para mí, mis habilidades de excel superan con creces mis habilidades de VBA.

Respuestas a la pregunta(1)

Su respuesta a la pregunta