我有一个脚本,可以将一些数据复制到工作表中,然后再复制到文件末尾。 然后,使用新数据重新填充文件,然后将其再次复制到工作表末尾。 该脚本工作正常。 我唯一的问题是,当我要打印出所有图纸时,它从创建的最后一张而不是第一张开始。 例如,我有60张纸,当它们打印时,它开始是60、59、58 ... 1。
例如,我该怎么做才能使其从第1页打印到第60页。
谢谢。
Sub Print_All()
For i = 4 To ActiveWorkbook.Sheets.Count
Worksheets(i).Select
ActiveSheet.PrintOut
Next
i = i + 1
End Sub
答案 0 :(得分:1)
For i = ActiveWorkbook.Sheets.Count To 4 Step -1
答案 1 :(得分:0)
当您使用For i = 1 to N
时,则无需去i = i + 1
,它应该可以工作:
Sub PrintAll()
Dim i As Long
For i = 1 To ThisWorkbook.Worksheets.Count
Worksheets(i).PrintOut
Next
End Sub
此外,最好避免在VBA中使用Select
和Activate
-How to avoid using Select in Excel VBA