我试图将4张纸输出到一个pdf文件中,但由于某种原因,输出只包括第一张纸,"报告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:\QA\Sample Reports\Reports for CCC\" & Ref.[B1] _
& " - " & Ref.[B2] & " - " & Worksheets("Provider Data").[I2] & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Worksheets("Report 1a").Select
我甚至尝试录制一个宏来查看我做错了什么。当我录制它时,它会工作(即包括所有4个页面),但是如果我尝试重新运行它,它只会包括第一页("报告1a和#34;)。 / p>
答案 0 :(得分:0)
我仍然不知道出了什么问题,但我至少找到了解决办法。
在导出任何内容之前,我隐藏了我不想要包含的所有工作表。 (更有理由避免像瘟疫一样选择!)
y x1 x2 x3
1 2 3 NA NA
2 3 2 NA NA
3 2 6 2 NA
4 5 8 5 2
5 1 3 6 3
6 1 0 7 9
然后我只导出整个工作簿:
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
然后,如果您愿意,可以设置一个宏来取消隐藏工作表。