将字符串数组复制到一系列单元格中(在使用VBA的MS Excel中)

时间:2013-06-07 11:44:25

标签: excel excel-vba vba

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

问题Range to string array解决了与我想要做的完全相反的问题。

3 个答案:

答案 0 :(得分:8)

喜欢这个

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

另外,this了解更多示例和教程

修改
这个documentation解释了WorksheetFunction.Transpose被使用的原因

答案 1 :(得分:0)

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

然后将“= INDEX(var1,2,2)”放入任何单元格中以获得值v22。

答案 2 :(得分:0)

我还有另外一种做法:

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

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