Excel VBA – 添加具有特定标题名称的新表格列

我有一个简单的vba问题。 我想要一个macros,将在我的表对象(“Table1”)中正好添加4个新列。 我也想按顺序从左至右依次命名:

AHT,目标AHT,转移,目标转移

我有下面的代码添加列很好,但我不知道如何单独命名一个。 另外,有人可以告诉我如何循环这段代码。 谢谢!

Sub insertTableColumn() Dim lst As ListObject Dim currentSht As Worksheet Set currentSht = ActiveWorkbook.Sheets("Sheet1") Set lst = ActiveSheet.ListObjects("Table1") 'below is the code that I would like to have looped lst.ListColumns.Add lst.ListColumns.Add lst.ListColumns.Add lst.ListColumns.Add End Sub 

一个variables数组是一个把variables存储在循环序列中的好地方。

 Sub insertTableColumn() Dim lst As ListObject Dim currentSht As Worksheet Dim h As Long, hdrs As Variant hdrs = Array("AHT", "Target AHT", "Transfers", "Target Transfers") Set currentSht = ActiveWorkbook.Sheets("Sheet1") Set lst = ActiveSheet.ListObjects("Table1") With lst 'ActiveSheet.ListObjects("Table1") For h = 0 To 3 .ListColumns.Add .ListColumns(.ListColumns.Count).Name = hdrs(h) Next h End With End Sub 

以这种方式创build一个string数组时,请记住,variant数组的索引默认为零。

下面的代码创build了一个你想添加的列名的数组,然后循环多次,因为有头添加和设置名称在同一时间。

 Sub insertTableColumn() Dim lst As ListObject Dim currentSht As Worksheet Set currentSht = ActiveWorkbook.Sheets("Sheet1") Set lst = ActiveSheet.ListObjects("Table1") ColumnNames = Array("AHT", "Target AHT", "Transfers", "Target Transfers") ' below is the code that I would like to have looped For iLoop = 0 to UBound(ColumnNames) Set oLC = lst.ListColumns.Add oLC.Name = ColumnNames(iLoop) Next End Sub