我创建了一个工作簿,它对一个变量执行所有计算,以便每次增加都会生成一个新文件,我想用该特定数字保存该文件。在这里,我编写了一个 VBA 程序来避免手动重复执行相同的过程。通过打开主文件并将数字增加 1 关闭它然后使用该名称保存新文件关闭新文件并打开主文件等,它可以正常工作。在这里,打开和关闭主文件会消耗相当多的时间。请您看一下并建议我如何保持主文件打开并不加选择地保存新生成的文件。或者,除了这个逻辑之外的其他东西需要更少的时间。
先感谢您。
Sub AsBuiltForm()
a = InputBox("Enter first number")
b = InputBox("Enter last number")
For i = a - 1 To b - 1
Application.DisplayAlerts = False
Workbooks.Open Filename:="C:\SA.xlsx" 'main file
Range("bi1") = i + 1
Dim SaveName As Integer
SaveName = ActiveWorkbook.Sheets(1).Range("bi1").value
Sheets("1 of 2").Range("A1:CT103").value = Sheets("1 of 2").Range("A1:CT103").value
Sheets("2 of 2").Range("A1:CT103").value = Sheets("2 of 2").Range("A1:CT103").value
Application.ActiveWorkbook.SaveAs "C:\Desktop\SA\" & SaveName
Sheets("GL").Select
ActiveWindow.SelectedSheets.Delete
Sheets("SA").Select
ActiveWindow.SelectedSheets.Delete
ActiveWorkbook.Close True
Next
End Sub