我有一个工作簿,其中每个工作表具有相同格式的数据,但适用于不同的实体。我想把每一个都写进一张桌子,但我不熟悉如何写这样的东西。有太多的纸张可以手工制作,这是一个有效的选择。以下是我对此编码的尝试,但它已经很糟糕了。再一次,我从来没有真正尝试做过这样的事情。
我的意图是我打开这个工作簿,运行宏,然后遍历每个工作表并为当前数据创建一个表。然后我会使用数据透视表来使用这些表格。有人可以提供一些帮助吗?
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
答案 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