我有一个包含我的宏的主excel文件。在这一篇文章中,我创建了工作表作为我需要使用和修改的未来excel文件的模板。现在我需要将特定工作表及其内容复制到新工作簿中。
我还使用VBA创建此工作簿:
Sub NOUDOC()
Dim wbNew As Workbook
Dim data As Date
data = Range("H3").Value
Set wbNew = Workbooks.Add()
ActiveWorkbook.SaveAs ("C:\Users\Alina\Desktop\Carburant " & Format(data, "MMMM YYYY") & ".xlsx")
End Sub
(H3是我输入的日期,用于过滤从SQL服务器导入的数据)
所以我想在我的主excel文件中使用VBA来创建一个新的excel文档,其中包含来自main的特定工作表。
我提前感谢你!
答案 0 :(得分:0)
试试以下?我还没有尝试过。
Sub NOUDOC()
Dim wbTemplate as Workbook
Set wbTemplate = ActiveWorkbook
Dim wbNew As Workbook
Dim data As Date
data = Range("H3").Value
Set wbNew = Workbooks.Add()
sheet_count = 1
For Each each_sheet in wbTemplate.Sheets
each_sheet.Copy Before:= wbNew.Sheets(sheet_count)
sheet_count = sheet_count + 1
Next
wbNew.SaveAs ("C:\Users\Alina\Desktop\Carburant " & Format(data, "MMMM YYYY") & ".xlsx")
答案 1 :(得分:0)
您可以使用Worksheets
对象的数组“风味”:
Sub NOUDOC()
Dim data As Date
data = Range("H3").Value
Worksheets(Array("Sh1", "Sh2", "Sh3")).Copy '<--| this will copy listed sheets into a new (and Active) workbook
ActiveWorkbook.SaveAs "C:\Users\Alina\Desktop\Carburant " & Format(data, "MMMM YYYY") & ".xlsx"
End Sub