VBA打印活动工作表增量

时间:2019-06-23 19:46:38

标签: excel vba

我有一个脚本,可以将一些数据复制到工作表中,然后再复制到文件末尾。 然后,使用新数据重新填充文件,然后将其再次复制到工作表末尾。 该脚本工作正常。 我唯一的问题是,当我要打印出所有图纸时,它从创建的最后一张而不是第一张开始。 例如,我有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

2 个答案:

答案 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中使用SelectActivate-How to avoid using Select in Excel VBA