excel vba write array to range

在Excel VBA中,将数组写入单元格范围(Range)是非常常见的需求。你可以使用以下代码将数组写入单元格范围:

Sub WriteArrayToRange()
    Dim arrData(1 To 3, 1 To 2) As Variant
    Dim rngOutput As Range
    ' 填充数组数据
    arrData(1, 1) = "A"
    arrData(1, 2) = "B"
    arrData(2, 1) = 1
    arrData(2, 2) = 2
    arrData(3, 1) = True
    arrData(3, 2) = False
    ' 指定要写入的单元格范围
    Set rngOutput = Range("A1:B3")
    ' 将数组写入单元格范围
    rngOutput.Value = arrData
End Sub

在这个示例中,我们创建了一个名为arrData的数组,该数组具有3行2列的维度。我们填充了一些示例数据,包括文本、数字和布尔值。

然后,我们使用Set关键字将rngOutput范围设置为要写入的单元格范围,即A1到B3。

最后,我们使用Value属性将数组写入指定的单元格范围。

请注意,您需要确保数组维度与要写入的单元格范围大小匹配。如果数组维度大于单元格范围的大小,将只写入范围内的部分。如果数组维度小于单元格范围的大小,剩余的单元格将保持为空白。

  •