Excel vba获取表中特定单元格的范围(listobject)

Excel vba获取表中特定单元格的范围(listobject),excel,vba,listobject,Excel,Vba,Listobject,我试图让代码仅通过表引用范围(这样,如果我在表中添加或删除列,代码将不会更改)。 我有一张桌子叫MyTable。 此表的标题为“MyHeader” 这里我得到了表的最后一行: dim numRecords as integer numRecords = sheet1.listobjects("MyTable").listRows.count 现在我有了一个函数,它接收一个范围类型的参数,并将一些东西放在这个范围内 我希望函数接收列“MyHeader”上的单元格和行号numRecords。如

我试图让代码仅通过表引用范围(这样,如果我在表中添加或删除列,代码将不会更改)。 我有一张桌子叫MyTable。 此表的标题为“MyHeader”

这里我得到了表的最后一行:

dim numRecords as integer
numRecords  = sheet1.listobjects("MyTable").listRows.count 
现在我有了一个函数,它接收一个范围类型的参数,并将一些东西放在这个范围内

我希望函数接收列“MyHeader”上的单元格和行号numRecords。如何获取此单元格的范围(仅引用表而不引用工作表的行或列)


谢谢

您可以使用以下内容:

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

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

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"

谢谢如果我想要一个大于一个单元格的范围怎么办?例如,“MyHeader”列第1:5行?我想在上面添加的链接:建议查看这些文档页面: