2016-09-16 74 views
0

通常的問題是將範圍傳遞給數組,但這次我需要做相反的事情。我想將各種大小的字符串數組傳遞給一個範圍。 BRMichałVBA如何將字符串數組傳遞到範圍

+0

問題是什麼?要確定範圍的大小?那麼你有數組的邊界(LBound和UBound))。 –

+0

我必須設定範圍嗎? 設置後可以將數組分配到範圍嗎? 像rng =數組? – 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 
相關問題