как вернуть массив из функции в VBA?

excel VBA visual basic

Хочу понять как передать из фуйнкции массив и далее обращаться к нему. Хочу хотя-бы в MsgBox вывести. Вот на таком примере я это пробовал, пытаясь вывести элемент с индексом 1 :

Function test() as String
Dim arr(2) as String

arr(1) = "one"
arr(2) = "two"

Test = arr
End Function

Sub btn_click()
Dim temp as String
temp = Test

MsgBox (temp(1))
End Sub

говорит Expected array. Если передавать сразу элемент test = arr(1) , то тогда MsgBox(temp) его выводит. Вопрос , как правильно передавать массив и обращаться к нему потом?
Ответы:
Sub test()
Dim arr(2) As String
Dim test() As String
  arr(1) = "one"
  arr(2) = "two"
  test = arr
  MsgBox (test(1))
End Sub


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.