我们的组织中有大约100个需要预算的部门。
我有一个主预算工作簿模板,其中包含11个工作表。
我需要为每个拥有10个工作表的部门创建一个工作簿。
在数据工作表上,Column C
包含预算有效的所有部门编号,Column U
包含名称列表作为10个主要费用类别的工作表(预算类别)。
我需要为每个部门创建每个工作表的副本,并使用帐号和现有工作表名称命名工作表。
例如:
111100-Category-A
111100-Category-B
111100-Category-C
111100-Category-D
111100-Category-E
111100-Category-F
111100-Category-G
111100-Category-H
111100-Category-I
111100-Category-J
我试图使用下面的代码遍历每个帐号和工作表名称。
现在,我正在
编译错误:For Each只能遍历集合对象或 一个数组。
Option Explicit
Sub Add_Sheets()
Dim TabList As String, wsName As Range, Acct As Range, extraSheet As Worksheet
With Sheets("Data")
TabList = .Range("U2:U11")
For Each wsName In TabList
Set extraSheet = ThisWorkbook.Worksheets("wsName")
Application.ScreenUpdating = False
Set rng = .Range(.[c2], .Cells(Rows.Count, "C").End(xlUp))
For Each Acct In rng
extraSheet.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Acct & "-" & "TabList"
Next
Next
End With
End Sub
答案 0 :(得分:0)
您的代码中的错误多于上面提到的错误。以下是您找到的错误的解决方案:
Dim TabList As String, wsName As Range, Acct As Range, extraSheet As Worksheet
这是我发现的另一个问题:
Set extraSheet = ThisWorkbook.Worksheets(wsname.value)