具有由变量或数组定义的名称的ListObject

时间:2017-12-05 00:04:31

标签: excel vba listobject

我正在尝试创建一系列NEW ListObjects,其名称由变量或数组值定义。

TblNameArray = Array("Table1", "Table2", "Table3", "Table4",)

ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(R1, C1), Cells(R2, C2)), , xlYes).Name = TblNameArray(w)

我得到两个具有正确名称的新表,然后它停止而没有错误。 我更喜欢使用变量,但我还没想出如何在该位置使用变量。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

从您的问题来看,很难确定您正在尝试做什么。但是,下面的代码确实有用,也许这可以帮助您找到自己的方式。

Private Sub InsertTables()

    Dim TblNameArray As Variant
    Dim TblRangeArray As Variant
    Dim w As Integer

    TblNameArray = Array("Table1", "Table2", "Table3", "Table4")
    TblRangeArray = Array("A2:G8", "A11:G15", "A21:G25", "A31:G35")

    With Activesheet
        For w = 0 To UBound(TblNameArray)
            .ListObjects.Add(SourceType:=xlSrcRange, _
                             Source:=Range(TblRangeArray(w)), _
                             XlListObjectHasHeaders:=xlYes).Name = TblNameArray(w)
        Next w
    End With
End Sub

Private Sub ListTables()

    Dim Tbl As ListObject

    For Each Tbl In ActiveSheet.ListObjects
        Debug.Print Tbl.Name
    Next Tbl
End Sub