Arrays Excel VBA:用数组替换第一行

Arrays Excel VBA:用数组替换第一行,arrays,excel,vba,replace,Arrays,Excel,Vba,Replace,第一行有100个单元格,我创建了一个字符串数组,表示新行内容。 我想用VBA中我的数组的内容替换所有第一行的内容,我该怎么做?假设您的数组名为myArray,这样做就足够了: For j = LBound(myArray) To UBound(myArray) Sheets("your sheet").Cells(1,j+1).Value = myArray(j) Next j 函数LBound()和UBound()分别返回数组的第一个索引和最后一个索引 请注意,在编写单元格(1,j

第一行有100个单元格,我创建了一个字符串数组,表示新行内容。
我想用VBA中我的数组的内容替换所有第一行的内容,我该怎么做?

假设您的数组名为
myArray
,这样做就足够了:

For j = LBound(myArray) To UBound(myArray)
    Sheets("your sheet").Cells(1,j+1).Value = myArray(j)
Next j 
函数
LBound()
UBound()
分别返回数组的第一个索引和最后一个索引

请注意,在编写
单元格(1,j+1)
时,我假设了两件重要的事情:

1) 开始索引以0开头,因此我想开始插入第1列中的值(j+1=0+1=1)

2) 您希望覆盖第一行(因为行索引等于1)


您可能希望对此进行自定义,例如创建独立索引—当我说“独立”时,我的意思是“不依赖于数组的下限和上限,也不象我对“行1”那样进行硬编码”。

您可以在一行范围和数组之间进行读写。这比使用循环更有效

注意:数组必须是二维的才能写入范围

Public Sub ReadToArray()

    ' Create dynamic array
    Dim StudentMarks() As Variant

    ' Read values into array from 100 cells in row 1
    StudentMarks = Sheets("Sheet1").Range("A1:CV1").Value

    ' Do something with array

    ' Write the values back to sheet
    Sheets("Sheet1").Range("A1:CV1").Value = StudentMarks

End Sub