Функция массива в Excel VBA

У меня есть функция в VBA, которая генерирует массив строк. Он отлично работает при вызове из другой функции VBA, но не при вызове из рабочего листа.

Вот как это следует использовать:

  • выберите A1 :A3
  • напишите в строке формул =Test(), затем нажмите Ctrl-Shift-Enter, чтобы сделать его функцией массива
  • A1 должен содержать A, A2 должен содержать B, а A3 должен содержать C

. Когда я на самом деле пытаюсь это сделать, он помещает Aво все три ячейки массива. Как я могу получить данные, возвращаемые Test, в разные ячейки массива?


Для тех, кто хотел бы увидеть это, вот код функции. Имейте в виду, функция отлично работает при вызове из других функций.

Function Test() As String()
    Dim a(1 To 3) As String
    a(1) = "A"
    a(2) = "B"
    a(3) = "C"
    Test = a
End Function
8
задан Joe 24 April 2012 в 01:50
поделиться