excel 将数组中的值插入新行中的单元格

42fyovps  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(196)

我插入一个新行(到Excel),并将数组中的数据添加到其中。数组的长度小于一行中单元格的数量。
单行单元格数:12
数组:9
最后3个单元格有公式,当添加新行时,公式会自动复制,但添加新数据的唯一方法是覆盖这些公式,结果显示为#N/A。
数组中的数据如下所示:

tempArray(j)=Array("=HYPERLINK([@Location]," & Chr(34) & files.ListColumns("Name").DataBodyRange(i) & Chr(34) & ")",...,...,...,...)

我知道如果我有静态的不相关公式(非@),我可以删除ListRows.Add,这就是我正在做的,但现在我需要相关公式。
我尝试了各种各样的东西,比如:

With data.ListRows.Add

    'Set newRng = .Range.Range(.Range.Cells(1, 1), .Range.Cells(1, 9))

    .Range.Range(.Range.Cells(1, 1), .Range.Cells(1, 9)).Value2 = tempArray(i)
    .Range.Value2 = tempArray(i)
     
    'data.Range(data.Cells(lr + 1, 1), data.Cells(lr + 1, UBound(tempArray(i)) + 1)).Value = tempArray(i)
    
    lr = lr + 1
    
End With

我知道这个answer涉及到类似的东西,但我想一次性应用它,而不是一个接一个。

jtoj6r0c

jtoj6r0c1#

您可以根据tempArray的大小调整listrow的范围:

Dim lr as ListRow   'I prefer to use a single variable for readability reasons
With data
    Set lr = .ListRows.Add
    lr.Range.Resize(, UBound(tempArray) + 1).Value = tempArray
End With

相关问题