2016-12-29 8 views
0

Я довольно новичок в использовании массивов и, честно говоря, не знаю, если это то, что мне нужно здесь. Ниже приведен код, который в настоящее время работает в моем макросе, который копирует и вставляет месяц в формате даты в указанном диапазоне. X - количество периодов (месяцев). Обратите внимание, что все ниже было упрощено, чтобы упростить понимание. Диапазон calc использует месячные периоды для определения диапазона, тогда часть [значение из массива] - это то, где мне нужна помощь. В принципе, для каждого месяца ниже в массиве должно быть 10 значений. Например, в январе 2017 года имеется 100 строк данных, мне нужно, чтобы 10 значений в массиве заполнялись в 10 строк за январь заполняя 100 строк, затем переходите к следующему месяцу. Скажем, диапазон массива «A1: A10» для справки. Большое спасибо!Как использовать массив для следующего для вставки значений в определенный диапазон?

For x = 1 To 3 
If Cells(3, 1) = "" Then 
Range(Cells(3, 1), Cells(3162, 1)).Value = [value from array] 
End If 
Next x 
+0

'Range (Cells (3, 1), Cells (3162, 1)) Значение = Application.Transpose (массив)' –

+0

Спасибо.. Где мне сказать, чтобы вставить каждое значение в массив 10x? –

+0

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

ответ

1

Начните с этого:

Sub foo() 
Dim arr() 
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) 
With ActiveSheet 
    j = 3 
    For i = 0 To UBound(arr) 
     .Range(.Cells(j, 1), .Cells(j + 9, 1)).Value = arr(i) 
     j = j + 10 
    Next i 
End With 
End Sub 

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

  • Нет связанных вопросов^_^