2016-06-27 8 views
1

Я пытаюсь назначить диапазоны в листах переменным массива, и пока это не работает. Не эксперт по этому вопросу в VB, любая помощь приветствуется. Диапазоны, которые я ввел, являются определенными, однако объявление массива для размера строк и столбцов является догадкой до сих пор. Благодаря!Назначение диапазона рабочих листов массиву

Dim runningavg(1 To 10000, 1 To 76), chartdata(1 To 598, 1 To 121) As Long 

runningavg = Worksheets("Running Avg Log").Range("A4:BX10004") 
chartdata = Worksheets("Chart Data").Range("B6:DR604") 
+3

Измените свою Dim строку на 'Dim runningavg() Как вариант, chartdata() As Variant' –

+0

Первый должен сработать ... – findwindow

+0

Я пробовал это, и ошибка все еще говорит о том, что я не могу назначить для массива ". @Scott Craner –

ответ

4

Это будет работать - это Variant может быть назначен только о ничего:

Dim runningavg as variant, chartdata as variant 

runningavg = Worksheets("Running Avg Log").Range("A4:BX10004").value 
chartdata = Worksheets("Chart Data").Range("B6:DR604").value 

Вы не можете прочитать весь диапазон в массив, когда массив уже размера и не вариант. Чтобы сделать это с помощью фиксированного массива, вам нужно будет записать ячейку массива по ячейке.

+1

Сделайте ваши заявления более смелыми; 'Это будет работать' и удалить« Я не думаю ». Когда вы правы, вы правы. –

Смежные вопросы