我想用数组填充一系列单元格,但我做不到。
1)
Dim Principal() As String
Dim txt As String
For i = LBound(Principal) To UBound(Principal)
txt = txt & Principal(i) & vbCrLf
Next i
MsgBox txt
2)
Dim Principal() As String
Dim txt As String
For i = LBound(Principal) To UBound(Principal)
Worksheets("Sheet1").Cells(i, 3) = Principal(i)
Next i
我可以在第一个示例中看到输出,即 MsgBox,但是当我尝试存储到不同的单元格时出现错误。提前致谢。
最佳答案
Alex 和 Sorceri 已经指出,默认情况下,数组从索引 0 开始。但除此之外,您不需要循环将数组传递给范围。
' 1D Array
With Worksheets("Sheet1")
.Range("C1:C" & Ubound(Principal) + 1) = Application.Transpose(Principal)
End With
注意
+ 1
.如果 Option Base = 1
那么你将不得不删除它。另请注意,如果您将一维数组传递给范围,则需要
Transpose
数组。
关于vba - 将字符串填充到不同的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086301/