按特定顺序打印多张 Excel 页

Print Multiple Excel sheets in a specific order

我正尝试从 Excel 工作簿中 print/publish 多个 sheet,但按特定顺序。我使用此处使用的相同代码,但它不是按照我输入数组的顺序打印,而是从最左边的 sheet 打印到最右边的 sheet.

Save multiple sheets to .pdf

我想按特定顺序打印 sheet。我选择了我想要打印的顺序,但是,它从最左边 sheet 开始打印,然后按照它们在工作簿中的方式向右打印。如何让它们按照我在数组中输入的顺序打印。

我选择了

ThisWorkbook.Sheets(Array("GIT 100", "GIT 399", "CheckList GIT 400", "TCCC", "4.1")).Select

但是我得到了“4.1”,"CheckList GIT 400","GIT 399","TCCC","GIT 100"作为发布的文件。

如有任何帮助,我们将不胜感激。

我认为这取决于 sheet 的顺序,按照您想要的顺序(按顺序)打印 sheet,这样就可以了。

只是循环:

Sub Kakeda()
    ary = Array("GIT 100", "GIT 399", "CheckList GIT 400", "TCCC", "4.1")
    For Each a In ary
        Sheets(a).ExportAsFixedFormat Type:=xlTypePDF
    Next a
End Sub

编辑#1:

此版本将单独保存.pdf个文件:

Option Explicit

Sub Kakeda()
    Dim ary
    Dim a As Variant, fp As String
    ary = Array("GIT 100", "GIT 399", "CheckList GIT 400", "TCCC", "4.1")
    fp = ActiveWorkbook.Path
    For Each a In ary
        Sheets(a).ExportAsFixedFormat Type:=xlTypePDF, Filename:=fp & "\" & a & ".pdf"
    Next a
End Sub

编辑#2:

此版本将创建一个单个pdf

Option Explicit

Sub Kakeda3_TheSequel()
    Dim ary
    Dim a As Variant, fp As String
    ary = Array("GIT 100", "GIT 399", "CheckList GIT 400", "TCCC", "4.1")
    fp = ActiveWorkbook.Path

    For Each a In ary
        Sheets(a).Move after:=Sheets(Sheets.Count)
    Next a

    ThisWorkbook.Sheets(ary).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
End Sub