宏导出某些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
答
您需要填写数组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
请将您的代码格式化为代码。这是非常难以阅读的。 – Kyle
对不起 - 只是改变了它。 –
因为你为'工作表中的每个工作表'而做的全部导出它们。这循环遍历工作簿中的每个工作表并导出它。 – Kyle