我正在尝试编写一个函数,将二维数组中的数据输出到空表中。
Function WriteArrayToTable(InputArray() As Variant, TableName As String, SheetName As String)
Dim MyTable As ListObject: Set MyTable = Worksheets(SheetName).ListObjects(TableName)
MyTable.DataBodyRange.Value = InputArray
End Function
然而,我得到了一个对象变量,它没有在第二行设置。我已经尝试了包括和排除Set和DataBodyRange.Value的各种排列。当我设置我的手表时,它可以找到MyTable,InputArray是合适的大小,但是MyTable.DataBodyRange是Nothing。
3条答案
按热度按时间eoigrqb61#
试试这个代码:
9rygscc12#
正如您所观察到的,当Table为空时,
DataBodyRange
就是Nothing
。在这种情况下,请使用InsertRowRange
sxissh063#
将数组写入表