按特定顺序打印多个Excel工作表

时间:2015-03-15 13:22:13

标签: excel vba excel-vba export pdf-generation

我正在尝试从Excel工作簿中打印/发布多个工作表,但是按特定顺序。我使用的是此处使用的相同代码,但它不是按照我输入到阵列中的顺序打印,而是从最左边的纸张打印到最右边的纸张。

Save multiple sheets to .pdf

我想按特定顺序打印表格。我选择了我想要打印的订单,但是,它从最左边的工作表打印出来,并按照他们在工作簿中的方式向右移动。如何按照我在阵列中输入的顺序进行打印。

我选择了

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

但是我把“4.1”,“CheckList GIT 400”,“GIT 399”,“TCCC”,“GIT 100”作为已发布的文件。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

循环播放:

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

答案 1 :(得分:0)

我认为这取决于工作表的顺序,按照您想要的方式制作工作表顺序(按顺序),这将有效。