bre*_*tdj 31
在您的示例中,这样的事情:
Dim tb As ListObject
'assumes Table is the first one on the ActiveSheet
Set tb = ActiveSheet.ListObjects(1)
MsgBox tb.DataBodyRange.Cells(2, tb.ListColumns("header4").Index)
Run Code Online (Sandbox Code Playgroud)
小智 12
一个较短的答案是:
MsgBox [MyTable].Cells(2, [MyTable[MyColumn]].Column)
Run Code Online (Sandbox Code Playgroud)
更清洁,更轻松!
有什么理由应该避免使用这种方法吗?
ThisWorkbook.Worksheets("MyWksht").Range("TableName[ColumnTitle]").Cells(RowNumber)
在我看来,这似乎是最简单的答案。
在我看来,@Salam Morcos 解决方案不会给出正确的答案。如果表格从单元格A2语句开始,则[MyTable[FirstColumnName]].Column值为 2。正确的解决方案是:
MsgBox [MyTable].Cells(2, [MyTable].Column-[MyTable[MyColumn]].Column + 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65674 次 |
| 最近记录: |