2016-12-29 5 views
0

나는 배열을 사용하는 것에 매우 익숙하며 솔직히 그것이 내가 여기에 필요한지 모르겠다. 아래는 지정된 범위에 걸쳐 날짜 형식으로 한 달을 복사하여 붙여 넣는 내 매크로에서 현재 작동하는 일부 코드입니다. X는 마침표 수 (월)를 나타냅니다. 아래의 모든 내용은 이해를 돕기 위해 단순화되었습니다. 범위 계산은 달 기간을 사용하여 범위를 결정한 다음 [array from value] 부분에 도움이 필요한 부분이 있습니다. 기본적으로, 아래의 매월마다 붙여 넣기해야하는 배열에 10 개의 값이 있습니다. 예를 들어, 2017 년 1 월에는 100 개의 데이터 행이 있고 1 월에는 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

배열을 반복하고 각 값을 10 번 붙여 넣은 다음 수십 개의 행을 내리고 다음 행을 붙여 넣어야합니다. 그렇게하는 빠른 방법은 없습니다. –

답변

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