我觉得自己快要结束了。我有一本带有数百个标签的工作簿。作为更大的宏的一部分,我带来了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))
任何帮助将不胜感激!
答案 0 :(得分:0)
尝试Dim tablename as Range
,然后将错误行切换为:
Set TargetSheet = ThisworkBook.Sheets(tablename)