将 ListObject 的特定行捕获到数组

Capture specific rows of a ListObject to an array

我需要帮助来弄清楚我以前在 Excel VBA 中没有做过的事情。我正在尝试将列表对象的特定(连续)行分配给数组。这可能吗?

以前我使用代码将整个 table 复制到数组中,这很有效,但它会捕获我不想包含的未使用的空白行。我能够获得一些功能并 运行 捕获 listobject 的第一个和低填充行号以供参考,但我无法弄清楚如何将 listobject 中的行仅分配到数组

例如,这只适用于分配第一行: varESInvoiceBreakdown = PrimeLO.ListRows(1).Range.Value

但是,这无法捕获前两行。我得到一个错误 varESInvoiceBreakdown = PrimeLO.ListRows("1:2").Range.Value

尽管在本文的某个片段中指出您可以通过这种方式引用多行 https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables

我希望引用我为行选择设置的两个整数变量。

真诚的, 克里斯

您不能像那样索引到 ListRows 集合。使用 DataBodyRange.Rows.

varESInvoiceBreakdown = PrimeLO.DataBodyRange.Rows("1:2").Value

有变量:

Dim startRow as Long
Dim endRow as Long

startRow = 1
endRow = 2

varESInvoiceBreakdown = PrimeLO.DataBodyRange.Rows(startRow & ":" & endRow).Value