使用标签名称更改某些标签上的数据以在另一个标签中更改

时间:2018-10-11 23:50:49

标签: excel-vba

我觉得自己快要结束了。我有一本带有数百个标签的工作簿。作为更大的宏的一部分,我带来了52个其他选项卡,这些选项卡将分析工作簿中现有选项卡中的数据。我已经写了VBA来引入选项卡,同时关闭自动更新以使其保持快速:D。

现在,我正在尝试针对我带入的选项卡以及其名称在选项卡“选项卡名称”上列出的选项卡,将数据更改为表格,然后再打开自动更新(它们是间接公式)。这是我到目前为止的内容:

Sub TabstoTables()

Dim tablename As Variant
Dim TargetSheet As Worksheet
Dim tbl As ListObject
Dim rng As Range

For Each tablename In Sheets("Tab Names").Range("A1:A5")
    Set TargetSheet = Worksheets(CStr(tablename))
    Set rng = Range(TargetSheet.Range("A1"), TargetSheet.Range("A1").SpecialCells(xlLastCell))
    Set tbl = TargetSheet.ListObjects.Add(xlSrcRange, rng, , xlYes)
    tbl.TableStyle = "TableStyleMedium15"
Next tablename

Application.Calculation = xlAutomatic

End Sub

我得到以下行的下标超出范围

Set TargetSheet = Worksheets(CStr(tablename))

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试Dim tablename as Range,然后将错误行切换为:

Set TargetSheet = ThisworkBook.Sheets(tablename)