在循环VBA中命名工作表

时间:2015-05-25 18:26:05

标签: vba loops excel-vba excel

我正在尝试根据表格(“运行”)中的名称列表命名工作表。范围(“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

我的问题:有人可以通过有效循环帮助我解决我的问题。

1 个答案:

答案 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