VBA如何将字符串数组传递给范围

时间:2016-09-16 09:21:17

标签: excel vba excel-vba

通常的问题是将范围传递给数组,但这次我需要做相反的事情。我想将各种大小的字符串数组传递给一个范围。 BRMichał

1 个答案:

答案 0 :(得分: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