使用宏创建多个表

时间:2017-11-14 22:22:04

标签: excel-vba vba excel

我有一个工作簿,其中每个工作表具有相同格式的数据,但适用于不同的实体。我想把每一个都写进一张桌子,但我不熟悉如何写这样的东西。有太多的纸张可以手工制作,这是一个有效的选择。以下是我对此编码的尝试,但它已经很糟糕了。再一次,我从来没有真正尝试做过这样的事情。

我的意图是我打开这个工作簿,运行宏,然后遍历每个工作表并为当前数据创建一个表。然后我会使用数据透视表来使用这些表格。有人可以提供一些帮助吗?

Sub Create_Tables()

    Dim wrksht As Worksheet

    For Each sht In ActiveWorkbook.Worksheets

        With ActiveSheet
           .ListObjects.Add(xlSrnRange, Range("AE1", Range ("AE1").End(xlToRight).End(xlDown)) , , xlYes)
           .Name:= .Name & "_Table"

           .ListObjects(.Name & "_Table").TableStyle = "TableStyleLight1"

    Next sht

End Sub

1 个答案:

答案 0 :(得分:1)

此测试代码将起作用。希望你能看出我所做的细微修改。

Option Explicit

Sub Create_Tables()

    Dim wrksht As Worksheet

    For Each wrksht In ThisWorkbook.Worksheets

        With wrksht

            Dim myTable As ListObject

            Set myTable = .ListObjects.Add(xlSrcRange, wrksht.Range("AE1", wrksht.Range("AE1").End(xlToRight).End(xlDown)), , xlYes)

            With myTable
                .Name = .Name & "_Table"
                .TableStyle = "TableStyleLight1"
            End With

        End With

    Next wrksht

End Sub
相关问题