vba 获取 table 中特定单元格的范围(列表对象)

vba get range of specific cells in a table (listobject)

我试图让我的代码仅通过 table 引用范围(这样,如果我在 table 中添加或删除列,代码将不会更改)。 我有一个名为 MyTable 的 table。 这个 table 有一个 header 'MyHeader'.

在这里,我得到了 table 的最后一行:

dim numRecords as integer
numRecords  = sheet1.listobjects("MyTable").listRows.count 

现在我有一个函数可以接收一个范围类型的参数并在这个范围内放置一些东西。

我希望函数接收第 'MyHeader' 列和行号 numRecords 上的单元格。我将如何获得此单元格的范围(仅引用 table 而不是 sheet 的行或列)?

谢谢

您可以使用类似的东西:

With Sheet1.ListObjects("MyTable").ListColumns("MyHeader").DataBodyRange
    .Cells(.Rows.Count, 1).Value = "test"
End With

@Rory 确实回答了我关于在 table 中引用特定单元格的问题。 在 [this question][1] 的帮助下,我想出了如何引用 table 中的一系列单元格,以防这对任何人都有帮助:

Dim tbl As ListObject
dim StartRow as integer

startRow = 2
Set tbl = Track.ListObjects("MyTable")

tbl.ListColumns("MyColumn").DataBodyRange.Offset(startRow).Resize(tbl.ListRows.Count - startRow ) = "SomeValue"