VBA 不包含 pdf 输出中的每个工作表



我正在尝试将4张纸输出到一个pdf文件中,但是由于某种原因,输出仅包括第一张表" report 1a"。这是我的代码:

Dim Ref As Worksheet
Set Ref = Worksheets("Charts for Report")
Sheets(Array("Report 1a", "Report 1b", "Report 2", "Comments")).Select
Sheets("Report 1a").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "T:QASample ReportsReports for CCC" & Ref.[B1] _
    & " - " & Ref.[B2] & " - " & Worksheets("Provider Data").[I2] & ".pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
Worksheets("Report 1a").Select

我什至尝试录制一个宏来看看我在做什么错。录制它时它将起作用(即包含所有4页(,但是如果我尝试重新运行它,它将仅包含首页(" report 1a"(。

我仍然不知道发生了什么问题,但是我至少找到了解决方案。

在导出任何内容之前,我都掩盖了所有我不想包括的工作表。(更多的理由避免像鼠疫一样选择!(

Sub Hide_non_Packet_Sheets()
    Dim index As Integer
    Dim SheetExists As Worksheet
    For index = 1 To 50
        Set SheetExists = Sheets(index)
        On Error Resume Next
        If Sheets(index).Name = "Page1" Or Sheets(index).Name = "Page2" Then
            Sheets(index).Visible = True
            Else
            Sheets(index).Visible = False
            End If
        Next index
End Sub

然后我只是导出整个工作簿:

ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "C:PlaceName.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas :=False, _
    OpenAfterPublish:=False

然后,如果您想要的话,您可以将宏设置为Undide。

最新更新