我正在尝试根据表格(“运行”)中的名称列表命名工作表。范围(“F4”)到数据的最后一行。当我命名一个工作表时,我下面的代码工作。
Sub list_Days()
Dim sName As String
Dim i As Integer
i = ActiveWorkbook.Worksheets.Count
sName = Sheets("Run").Range("F4")
Worksheets("Security Distribution").Copy After:=Worksheets(i)
ActiveSheet.Name = sName
End Sub
我的问题:有人可以通过有效循环帮助我解决我的问题。
答案 0 :(得分:0)
这应该是一个简单的for x = y to z
循环,其目标范围增加(假设其余代码按预期工作) -
Sub list_Days()
Dim sName As Range
Dim i As Integer
Dim j As Integer
i = ActiveWorkbook.Worksheets.Count
j = 0
sName = Sheets("Run").Range("F4")
For x = 1 To i
Set sName = sName.Offset(j, 0)
Worksheets("Security Distribution").Copy After:=Worksheets(x)
ActiveSheet.Name = sName.Value
j = j + 1
Next
End Sub