宏导出某些Excel工作表以分开PDF

问题描述:

我有一个宏导出工作簿中的某些工作表以分离PDF(用于报告目的)。它适用于我在一个工作簿中,但是,在不同的工作簿中,它将导出所有工作表。我无法弄清楚我错在哪里。为了让事情变得更容易,我将我定制的地方用于我的目的。宏导出某些Excel工作表以分开PDF

任何想法,我哪里出错了?提前致谢。

Sub ExportToPDFs() 
' PDF Export Macro 
' C:\ *location* 
' Sheets(Array("*selected sheets*")).Select 

Dim nm As String 
Dim ws As Worksheet 

For Each ws In Worksheets 
ws.Select 
nm = ws.Name 

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ 
Filename:="C:\*location*" & "*Report Title*" & nm & Range("D8").Value & ".pdf", _ 
Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
IgnorePrintAreas:=False, OpenAfterPublish:=True 

Next ws 

End Sub 
+0

请将您的代码格式化为代码。这是非常难以阅读的。 – Kyle

+0

对不起 - 只是改变了它。 –

+0

因为你为'工作表中的每个工作表'而做的全部导出它们。这循环遍历工作簿中的每个工作表并导出它。 – Kyle

您需要填写数组sheets_to_select并输入希望导出的工作表名称。否则,这将适用于你。

Sub ExportToPDFs() 
' PDF Export Macro 
' C:\ *location* 
' Sheets(Array("*selected sheets*")).Select 

Dim nm As String 
Dim ws As Worksheet 
Dim i as Variant, sheets_to_select as Variant 

sheets_to_select = Array("Sheet1","Sheet2","Sheet3") 

For Each i in sheets_to_select 
    Thisworkbook.Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _ 
     Filename:="C:\*location*" & "*Report Title*" & i & Thisworkbook.Sheets("*The sheet you need the value of D8 from").Range("D8").Value & ".pdf", _ 
     Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
     IgnorePrintAreas:=False, OpenAfterPublish:=True 

Next i 

End Sub 

好问题!我认为这应该做你想做的... ...修改脚本以适应您的需求...

Sub ExportToPDFs() 

Dim ws As Worksheet 

For Each ws In Worksheets 
ws.Select 
nm = ws.Name 

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ 
Filename:="C:\your_path_here\" & nm & ".pdf", _ 
Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
IgnorePrintAreas:=False, OpenAfterPublish:=False 

Next ws 

End Sub