我想基于列表创建新工作表,并让所有这些新工作表在当前现有工作表上复制一个模板。 我尝试过查找示例,但是我发现的所有示例仅创建一张工作表列表,或者仅复制模板。我知道我很近,但似乎无法解决这个问题。
这是我到目前为止所拥有的,并且可以正常工作,但是在创建工作表时,它们显示为client3,client2,client1。我希望它以相反的顺序显示。我知道我需要在声明后更改副本,但是每次尝试都会出现错误。任何帮助,将不胜感激 我的工作表名称是“客户端”和“扫描”
Option Explicit
Sub NewSheets()
Dim i As Integer
Dim ws As Worksheet
Dim sh As Worksheet
Dim sh2 As Worksheet
Set ws = Sheets("Scan")
Set sh = Sheets("Clients")
Set sh2 = Sheets("Scan")
Application.ScreenUpdating = 0
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Sheets("Scan").Copy After:=sh2
ActiveSheet.Name = sh.Range("A" & i).Value
Next i
End Sub
答案 0 :(得分:0)
类似以下内容:
Option Explicit
Sub NewSheets()
Dim ws As Worksheet: Set ws = Sheets("Scan")
Dim sh As Worksheet: Set sh = Sheets("Clients")
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To sh.Range("A" & sh.Rows.Count).End(xlUp).Row
Sheets("Scan").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = sh.Range("A" & i).Value
Next i
Application.ScreenUpdating = True
End Sub