我有4张,说" Sheet1"," Sheet2"," Sheet3"和" Sheet4"。
对于我的PDF,我想导出Sheet3和Sheet4的内容,因此它将被分组为一个数组:
Sheets(Array("Sheet3", "Sheet4"));
现在,通常要导出为PDF,我会选择此项,然后
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= _
"C:\filename.pdf", _
Quality:= xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
但是,我想让这个Macro完全在后台运行。如果我正在查看Sheet1,并运行此宏,它将转移到Sheet3,因为它被选中,这对工作流程具有破坏性。
我知道如何通过声明变量来完成FillCell等基本操作:
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet2")
' modify ws
因为这在幕后工作。
总之,我想将多个工作表(不是全部)导出为PDF,而无需使用Select,Activate或类似工具来更改我当前正在查看的工作簿/工作表的视图。
答案 0 :(得分:0)
这应该可以解决问题。
Sheets("Sheet 1").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= _
"C:\filename.pdf", _
Quality:= xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False