首页 > 解决方案 > 以特定顺序打印页面

问题描述

我有一个运行良好但看起来有点“不正确”的代码,只是出于好奇,有没有更好的方法可以打印页面 1,6,2,7,3,8,4,9,5命令?

Sub PrntPgs()
ActiveSheet.PrintOut 1, 1, 1
ActiveSheet.PrintOut 6, 6, 1
ActiveSheet.PrintOut 2, 2, 1
ActiveSheet.PrintOut 7, 7, 1
ActiveSheet.PrintOut 3, 3, 1
ActiveSheet.PrintOut 8, 8, 1
ActiveSheet.PrintOut 4, 4, 1
ActiveSheet.PrintOut 9, 9, 1
ActiveSheet.PrintOut 5, 5, 1
End Sub

任何帮助表示赞赏

缺口。

标签: excelvbaprinting

解决方案


您可以将页码放在一个数组中并使用循环

Option Explicit

Public Sub PrntPgs()
    Dim PageList() As Variant
    PageList = Array(1, 6, 2, 7, 3, 8, 4, 9, 5)

    Dim PageNo As Variant
    For Each PageNo In PageList
        ActiveSheet.PrintOut PageNo, PageNo, 1
    Next PageNo
End Sub

推荐阅读