Вы можете обновить свой список параметров функции, включив в него необязательный параметр Range
-type:
Private Function sqlQuery(ByVal CadenaCnx As String, ByVal Consulta As String, _
ByVal Tipo As TipoConsulta, _
Optional rng As Range = Nothing) As Variant
'dump result to rng if needed
End With
А затем позвоните так:
sqlQuery "DSN = myODBC;", "SELECT * FROM Table1", TodaLaConsulta, Range("A1")
************ оригинальный ответ (я смотрел на GetRows) *******
GetRows
возвращает двумерный массив, поэтому вы должны иметь возможность сделать что-то вроде
Dim res
res = sqlQuery ("DSN = myODBC;", "SELECT * FROM Table1", TodaLaConsulta)
Range("A1").Resize(ubound(res,1) + 1, ubound(res,2) + 1).Value = res
но я не думаю, что вы можете сделать это в одной строке, поскольку вам нужно изменить размер целевого диапазона, а для этого вам нужен размер результирующего массива.
Обратите внимание, что GetRows возвращает массив [column, row], поэтому вам может потребоваться транспонировать его перед размещением на листе.