3

我可以使用For构造循环遍历字符串数组元素并将它们的内容复制到范围的各个单元格中;但是有没有更简单的方法可以直接将字符串数组项复制到 Range 中?

范围到字符串数组的问题解决了与我正在尝试做的完全相反的问题。

4

3 回答 3

9

像这样

Sub StringArrayToRange()

    Dim strArr(3) As String
    strArr(0) = "one"
    strArr(1) = "two"
    strArr(2) = "three"

    Range("A1:A" & UBound(strArr) + 1) = WorksheetFunction.Transpose(strArr)

End Sub

此外,还有更多示例和教程

编辑:
文档解释了为什么WorksheetFunction.Transpose使用

于 2013-06-07T11:55:49.153 回答
0

你真的需要一个单元格中的数组吗?请记住,您可以定义一个等于数组值的变量:var1 = {v11, v12, v13;v21, v22, v23}

然后将 "=INDEX(var1, 2, 2)" 放入任何单元格以获取值 v22。

于 2013-06-07T12:26:34.620 回答
0

我有另一种方法:

Dim Arr()
With ThisWorkbook.Sheets("MassHeals")
  Arr = Array("1", "2", "3", "4")
  .Cells(1, 1).Resize(1, 4).value2 = Arr 
End With

数组设置在一行中,我不使用转置。

于 2018-04-06T00:04:59.107 回答