Я работаю над программой, которая должна считывать массив значений из ячеек в другом листе в той же книге. Я в состоянии прочитать одно значение просто отлично, но когда я пытаюсь прочитать несколько, я не могу вернуть массив.
Вот что я пытаюсь сделать:
Dim list() As Variant
list = ActiveWorkbook.Worksheets("Sheet2").Range("A2:C2").value
Debug.Print TypeName(list)
Debug.Print UBound(list)
Debug.Print LBound(list)
Debug.Print TypeName(list(UBound(list)))
Для который выводится:
Variant()
1
1
Subscript out of range
Однако, если я попробую это там, где я ожидаю одну строку, вместо массива строк
Dim value As String
Let value = ActiveWorkbook.Worksheets("Site IDs and CJONs").Range("A2").value
Debug.Print TypeName(value)
Debug.Print value
, для которого я получаю вывод
String
Expected Value
Согласно этот вопрос Я мог бы просто вернуть массив из функции диапазона (пример из ответа ниже), но, похоже, он не работает для меня. Что я делаю не так?
Dim DirArray As Variant
DirArray = Range("a1:a5").Value