我正在尝试根据工作表中的名称列表命名新创建的工作表 <&#34;运行&#34; 来自范围(&#) 34; F4&#34;)到拉斯维加斯。
我的问题:宏只创建一个新的工作表,而不是根据列表中的名称数创建新的工作表。请参阅下面的代码:
Sub new_1()
Dim RCount As Integer
Dim n As Integer
Dim test As Worksheet
Sheets("Security Distribution").Copy After:=Sheets(Sheets.Count)
Set test = ActiveSheet
Application.ScreenUpdating = False
Sheets("Run").Activate
RCount = Range(Range("F5000").End(xlUp), Range("F4")).Rows.Count
For n = 1 To RCount
test.Name = Sheets("Run").Range("F4").Offset(n - 1, 0)
Next n
Application.ScreenUpdating = False
End sub
答案 0 :(得分:3)
您创建新工作表的操作超出了重命名的循环。您将创建一个新的工作表并重命名它。
Sub new_1()
Dim RCount As Integer
Dim n As Integer
Application.ScreenUpdating = False
With Sheets("Run")
RCount = .Range(.Range("F" & Rows.Count).End(xlUp), .Range("F4")).Rows.Count
For n = 1 To RCount
Sheets("Security Distribution").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = .Range("F4").Offset(n - 1, 0).Value
Next n
End With
Application.ScreenUpdating = False
End Sub