VBA(总noob)很新,努力奋斗,我一直在论坛的各个部分拆分公式的一部分,以获得我需要的东西,现在我卡住了。Excel:自动复制工作簿和基于列表
基本上我有一个工作簿,我需要说的工作簿重复很多次,它创建一个从这里列表中保存的名字是我迄今为止
Sub create()
Dim wb As Workbook, sh1 As Worksheet, lr As Long, rng As Range
Set sh1 = Sheets("List") 'Edit sheet name
Set sh2 = Sheets("Data") 'Edit sheet name
lr = sh1.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = sh1.Range("A1:A" & lr)
For Each c In rng
Sheets("Template").Copy 'Edit sheet name
Set wb = ActiveWorkbook
wb.Sheets(1).Range("A1") = c.Value
sh2.Copy After:=wb.Sheets(1)
wb.SaveAs c.Value & ".xlsx"
wb.Close False
Next
End Sub
所以名单显然是我的名字的列表文件,它工作得很好,但是工作簿有更多的工作表,而不是“数据”和“模板”,所以如果我有其他名为“Data2”和“Data3”的工作表,我怎样才能将它们写入到工作簿中创建的。
预先感谢你们美好的人。
亚历
因此,总结一下,您希望您的代码将工作表保存为每张工作表的单独工作簿? – Calum
@Calum现在还没有,如果我将其他工作表添加到原始工作簿中,它不会将它们添加到工作簿中,此时它只会添加到我的“模板”和“数据”选项卡中,如果我要添加更多选项卡即“data2”写入: 设置sh3 =表(“Data2”)'编辑表名称 这不起作用,如果有意义的话。对不起,如果它看起来模糊。 – Rojas
如果这就是所有你想要的然后保持与'设置SH3 =表(“数据2”)'然后'sh2.Copy后:= wb.Sheets(1)'下面添加'sh3.Copy后:= wb.Sheets(1 )',并为每张纸做同样的事情。 – Calum