Используя эту очень простую функцию:
Function WriteArray() as Variant
Dim array(0 To 2)
array(0) = "A"
array(1) = "B"
array(2) = "C"
WriteArray = array
End Function
Я ожидал увидеть в результате весь массив в моей электронной таблице Excel, но это не так: я получаю только первую строку. Я знаю, что есть хитрость, чтобы показать весь массив в электронной таблице (выбрав диапазон ячеек с формулой + F2 + CTRL + SHIFT + ENTER), но я бы предпочел, чтобы VBA обрабатывал все это.
Я также пытался использовать переменную Application.Caller для прямой записи в диапазон «Caller», но код прерывался.
Большое спасибо за вашу помощь!
EDIT:
Вот еще один код, который я пытался использовать:
Function WriteArray() As Variant
Dim arr(0 To 2)
arr(0) = "A"
arr(1) = "B"
arr(2) = "C"
WriteArray = arr
Dim StartRow, i As Integer
For i = 0 To UBound(arr)
Range("A" & i).Value = arr(i)
Next
End Function
Разрывается на строке «Range (« A »& i) .Value = arr (i)». Мой Excel сломан?!