如何基于标题标题而不是位置将新列添加到表中?

时间:2019-06-30 20:04:04

标签: vba

我想在表头中某个标题之后添加新列,其位置会不时变化。

我可以使用此代码在位置4处添加一列,但该位置取决于标题标题,该标题可能会发生变化。

关于如何进行此操作的任何线索?

Worksheets(1).ListObjects("Table1").ListColumns.Add Position:=4

例如:标题标题在位置5,代码将在位置6添加新列。 例如:标题标题现在位于位置7,代码将在位置8添加新列。

2 个答案:

答案 0 :(得分:0)

我们可以使用HeaderRowRange的{​​{1}}属性来解决此问题:

ListObject

答案 1 :(得分:0)

这应该可行,只需将“ YourHeader”更改为标题名称

Sub AddColAfterHeader()
    [Table1[YourHeader]].Next.EntireColumn.Insert
End Sub

..或者如果周围环境很重要

Sub AddColAfterHeader2()
    ActiveSheet.ListObjects("Table1").ListColumns.Add _
    ([Table1[YourHeader]].Next.Column - [Table1].Column + 1)
End Sub