Excel VBA-添加具有特定标题名称的新表列
我有一个简单的vba问题。我想要一个宏,它将在我的表对象(“Table1”)中恰好添加4个新列。我还希望按照从左到右的顺序命名: AHT,目标AHT,传输,目标传输 下面的代码添加了一些列,但我不知道如何单独命名。另外,有人能告诉我如何循环这段代码吗。谢谢Excel VBA-添加具有特定标题名称的新表列,vba,excel,for-loop,Vba,Excel,For Loop,我有一个简单的vba问题。我想要一个宏,它将在我的表对象(“Table1”)中恰好添加4个新列。我还希望按照从左到右的顺序命名: AHT,目标AHT,传输,目标传输 下面的代码添加了一些列,但我不知道如何单独命名。另外,有人能告诉我如何循环这段代码吗。谢谢 Sub insertTableColumn() Dim lst As ListObject Dim currentSht As Worksheet Set currentSht = ActiveWorkbook.Sheets("Sheet1
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
变量数组是以循环序列存储变量的好地方
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
以这种方式创建字符串数组时,请记住变量数组的索引默认为零。下面的代码创建一个包含要添加的列名的数组,然后在有要添加的标题时循环多次并同时设置名称
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
非常感谢您对UBound函数的介绍。我以前从未遇到过这种情况。只是一个简单的问题-如果我想声明您的“ColumnNames”变量,我将如何声明?我试图将其声明为字符串,但我的代码生成了一个错误。声明要用作数组的变量的最佳实践是什么?再次感谢!您可以将
Dim ColumnNames用作Variant
(老实说,我应该添加这一行),但如果您不指定变量类型,VBA将自动将其定义为Variant,它实际上可以接受几乎任何类型,因此,您可以简单地使用暗淡的列名:)感谢您提供的关于零基索引的内容。我肯定会质疑0。