如何使用,]表示符与表ListObject而不是“TableName”?

我正试图将录制的macros转换为通用的VBA脚本(我的第一个)。 录制的macros在代码如Sheet8和Table5中生成特定的名称。 我需要这些在代码中dynamic确定,到目前为止,我已经能够弄清楚了…

'This table name needs to be dynamically determined... Dim myTable As ListObject Set myTable = ActiveSheet.ListObjects.Add(xlSrcRange, myRng, , xlNo) 

不过,我需要帮助搞清楚如何转换这些行…

 Range("Table5[[#Headers],[Column1]]").Select 

…到使用myTable ListObject的东西。

有任何想法吗? 谢谢!

试试这个:

 Dim myTable As ListObject Dim myRng As Range, rngH1 As Range 'where to place the table Set myRng = ThisWorkbook.Worksheets("Sheet1").Range("D5:H10") 'create table Set myTable = ActiveSheet.ListObjects.Add(xlSrcRange, myRng, , xlNo) 'get firts header Set rngH1 = myTable.HeaderRowRange.Columns(1) 'select first header (assuming that Sheet where table placed is active) rngH1.Select 

如果你想使用它的名字find头,你可以这样做:

 'select header "Column3" (assuming that Sheet where table placed is active) myTable.ListColumns("Column3").Range(1).Select 

也可能很有趣: 如何避免使用Select / Active语句