首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA -添加具有特定标题名称的新表列

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

Stack Overflow用户
提问于 2016-06-02 03:45:45
回答 2查看 13.7K关注 0票数 1

我有一个简单的vba问题。我想要一个在我的表对象("Table1")中恰好添加4个新列的宏。我还希望这些名称按从左到右的顺序命名:

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

下面的代码很好地添加了列,但我不确定如何单独命名它们。另外,谁能告诉我如何循环这段代码。谢谢!

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-02 04:11:01

变量数组是在循环序列中存储变量的好地方。

代码语言:javascript
复制
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

当以这种方式创建字符串数组时,请记住变量数组的索引在默认情况下是从零开始的。

票数 1
EN

Stack Overflow用户

发布于 2016-06-02 04:15:47

下面的代码创建一个由您想要添加的列名组成的数组,然后按照要添加的标题数多次循环,并同时设置列名。

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37577495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档