0
通常的問題是將範圍傳遞給數組,但這次我需要做相反的事情。我想將各種大小的字符串數組傳遞給一個範圍。 BRMichałVBA如何將字符串數組傳遞到範圍
通常的問題是將範圍傳遞給數組,但這次我需要做相反的事情。我想將各種大小的字符串數組傳遞給一個範圍。 BRMichałVBA如何將字符串數組傳遞到範圍
要設置數組範圍的值,我們必須首先根據數組大小確定該範圍的大小。爲此,我們可以使用數組的邊界(LBound
和UBound
)。
然後,如果陣列符合範圍,我們可以簡單地做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
問題是什麼?要確定範圍的大小?那麼你有數組的邊界(LBound和UBound))。 –
我必須設定範圍嗎? 設置後可以將數組分配到範圍嗎? 像rng =數組? – Eswemenasja