2016-09-16 7 views
0

通常の問題は、範囲を配列に渡すことですが、今回は逆にする必要があります。私はさまざまなサイズの文字列配列を範囲に渡したいと思います。 BRMichał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 
関連する問題