我有一个宏编写从一个工作簿中选取的工作表,并将其复制到另一个工作簿,并以新名称保存它。我需要反复运行相同的查询,直到我创建了大约6个单独的文件。每个宏都可以工作,我可以一次一个地调用它们,但它们不会按顺序运行。我相信我知道问题出在这样一个事实,即我编写的代码不会再引用源代码工作簿,而且我也不知道如何编写代码来完成它。运行多个宏来创建单独的工作簿
附加的代码是我正在使用的,它可能看起来有点草率 - 我把几个不同的宏组合在一起,让这个工作。 Gqp Master是所有其他工作簿正在创建的主工作簿的名称。
Sub Snuth()
'This will prevent the alet from popping up when overwriting graphs, etc
Application.DisplayAlerts = False
Dim FName As String
Dim FPath As String
Dim NewBook As Workbook
Dim strFileName As String
Dim WS As Worksheet
Dim WBk As Workbook
Set WBk = ("Gap Master")
For Each WS In Worksheets
WS.Visible = True
Next
For Each WS In Worksheets
If WS.Range("C4") <> "Snuth, John" Then
WS.Visible = False
End If
If WS.Range("C4") = "Snuth, John" Then
WS.Visible = True
End If
Next WS
FPath = "C:\Users\mmarshall\Documents\GAP\GAP Development"
FName = "Snuth GAP " & Format(Date, "yyyy-mm-dd") & ".xlsx"
Set NewBook = Workbooks.Add
ThisWorkbook.Sheets.Copy Before:=NewBook.Sheets(1)
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
ActiveWindow.SelectedSheets.Delete
If Dir(FPath & "\" & FName) <> "" Then
MsgBox "File " & FPath & "\" & FName & " already exists"
Else
NewBook.SaveAs Filename:=FPath & "\" & FName
End If
Application.DisplayAlerts = True
End Sub
因此,你有其他的宏是类似于这个,需要依次调用? –