Excel 基于现有列表创建和更新图纸

Excel 基于现有列表创建和更新图纸,excel,vba,Excel,Vba,我试图自定义一个VBA代码,该代码将根据预先存在的列表创建新图纸。由于需要更多数据,我将不断更新此列表。我使用的VBA代码(以下)可以创建新图纸,但我需要能够在忽略已创建图纸的同时更新它(创建新图纸)。有什么建议吗 Sub CreateSheetsFromList() Dim ws As Worksheet, Ct As Long, c As Range Set ws1 = Worksheets("Template") Set ws2 = Worksheets("J

我试图自定义一个VBA代码,该代码将根据预先存在的列表创建新图纸。由于需要更多数据,我将不断更新此列表。我使用的VBA代码(以下)可以创建新图纸,但我需要能够在忽略已创建图纸的同时更新它(创建新图纸)。有什么建议吗

Sub CreateSheetsFromList()
Dim ws As Worksheet, Ct As Long, c As Range
Set ws1 = Worksheets("Template")
Set ws2 = Worksheets("Job List")
Application.ScreenUpdating = False
For Each c In Sheets("Job List").Range("A4:A51")
   If c.Value <> "" Then
       ws1.Copy after:=Sheets(Sheets.Count)
       ActiveSheet.Name = c.Value
       Ct = Ct + 1
   End If
Next c
If Ct > 0 Then
   MsgBox Ct & " new sheets created from list"
Else
   MsgBox "No names on list"
End If
Application.ScreenUpdating = True
End Sub
子CreateSheetsFromList()
尺寸ws为工作表,Ct为长,c为范围
设置ws1=工作表(“模板”)
设置ws2=工作表(“作业列表”)
Application.ScreenUpdating=False
对于每一张工作表(“工作清单”)。范围(“A4:A51”)
如果c.值为“”,则
ws1.Copy after:=工作表(Sheets.Count)
ActiveSheet.Name=c.Value
Ct=Ct+1
如果结束
下一个c
如果Ct>0,则
MsgBox Ct&“根据列表创建新图纸”
其他的
MsgBox“列表中没有名字”
如果结束
Application.ScreenUpdating=True
端接头
从列表中创建工作表
选项显式
子CreateSheetsFromList()
将wb设置为工作簿:设置wb=ThisWorkbook包含此代码的工作簿
将ws1标注为工作表:设置ws1=wb.工作表(“模板”)
将ws2标注为工作表:设置ws2=wb.工作表(“作业列表”)
Application.ScreenUpdating=False
将ws设置为工作表
调光范围
像长的一样暗的Ct
对于ws2.范围(“A4:A51”)单元格中的每个c
如果Len(c.值)>1,则
出错时继续下一步
设置ws=wb.工作表(c.值)
错误转到0
如果ws什么都不是,那么
ws1.Copy After:=wb.Sheets(wb.Sheets.Count)
ActiveSheet.Name=c.Value
Ct=Ct+1
其他的
'工作表已存在
设置ws=Nothing
如果结束
如果结束
下一个c
Application.ScreenUpdating=True
如果Ct>0,则
MsgBox Ct&“根据列表创建新图纸”
其他的
MsgBox“列表中没有不存在的工作表名称”
如果结束
端接头

那么,当代码创建新工作表时,您首先检查工作表是否存在?大概是这样的: