2016-12-29 58 views
0

我很新使用数组,真的不知道这是我需要在这里。以下是目前在我的宏中工作的一些代码,可以在指定范围内以日期格式复制和粘贴一个月份。 X表示周期数(月)。请注意下面的所有内容已被简化以便于理解。范围calc使用月份周期来确定范围,那么[从数组得到的值]就是我需要帮助的地方。基本上,对于下面的每个月,数组中有10个值需要粘贴。例如,2017年1月总共有100行数据,我需要数组中的10个值分别填充10行填满100行,然后移动到下个月。假设数组范围是“A1:A10”以供参考。非常感谢!如何在for-next中使用数组来将值粘贴到特定范围?

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

'范围(将细胞(3,1),将细胞(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