2016-09-16 4 views
0

일반적인 문제는 범위를 배열로 전달하는 것입니다. 그러나 이번에는 반대의 작업을 수행해야합니다. 다양한 크기의 문자열 배열을 범위에 전달하고 싶습니다. BR MichałVBA 문자열 배열을 범위로 전달하는 방법

+0

문제가 무엇입니까? 범위의 크기를 결정하려면? 배열의 경계 (LBound 및 UBound)가 있습니다. –

+0

범위를 설정해야합니까? 설정 후 배열을 배열 할 수 있습니까? rng = array와 (과) 유사합니까? – Eswemenasja

답변

1

배열의 범위 값을 설정하려면 먼저 배열 크기에 따라 해당 범위의 크기를 결정해야합니다. 이를 위해 배열의 경계 (LBoundUBound)를 사용할 수 있습니다.

그런 다음 배열이 범위에 맞으면 range.value = arr을 사용하면됩니다.

예 :

Sub test() 

Cells.ClearContents 

' one dimensional array; base 0 
aSArr = Array("This", "is", "an", "array", "of", "strings") 

Set r1 = Range("C3").Resize(1, 1 + UBound(aSArr)) 
r1.Value = aSArr 

Set r2 = Range("C5").Resize(1 + UBound(aSArr), 1) 
r2.Value = Application.Transpose(aSArr) 

' two dimensional array; base 1 
aSArr = [{"This", "is", "an"; "array", "of", "strings"}] 

Set r3 = Range("E6").Resize(UBound(aSArr, 1), UBound(aSArr, 2)) 
r3.Value = aSArr 


End Sub 
관련 문제