Я хотел бы вернуть массив неизвестного размера из функции vba. У меня мало опыта работы с vba.Как вернуть массив из функции vba в Excel?
Я googled этот вопрос и нашел эту страницу: Returning Arrays From VBA User Defined Functions.
Это приводит следующий пример для функции, которая возвращает массив:
Function Test() As Variant
Dim V() As Variant
Dim N As Long
Dim R As Long
Dim C As Long
ReDim V(1 To 3, 1 To 4)
For R = 1 To 3
For C = 1 To 4
N = N + 1
V(R, C) = N
Next C
Next R
Test = V
End Function
Так я напечатал Alt+F11
, создал новый модуль и вошел в эту функцию. Затем в моей книге я создал новый лист, набрав =Test()
в ячейке и нажав Ctrl+Shift+Enter
, а 1
появился в одной ячейке.
Что я делаю неправильно? По данным сайта, выход это должно быть
массив с 3-х строк и 4 столбца, который содержит целые числа от 1 до 12.
Он вернул массив, но если формула подтверждена только для одной ячейки, то эта ячейка будет показывать только верхний левый элемент массива. Каждая ячейка на листе отображает только один элемент массива. –