将多个工作表保存为一个PDF文件,但排除某些工作表。

3
非常新手的VBA编码人员,我已经通过大量的尝试和错误创建了一个代码,可以将多个工作表保存为单独的PDF文件,但排除一些工作表。 现在我想复制该代码并进行调整,以便我也可以拥有一个宏,将所有工作表保存为一个单独的PDF文件,并以同样的方式排除一些工作表。 这是我的当前代码:
Sub LoopSheetsSaveAsPDF()
 'Create variables
 Dim ws As Worksheet
 'Loop through all worksheets and save as individual PDF in same folder
 
 'as the Excel file
 
 For Each ws In ActiveWorkbook.Worksheets
 
 Select Case ws.Name
 Case "Mall", "Grunddata"
 ''/// ignore these sheets
 Case Else
 ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "/" & ws.Name & ".pdf"
 End Select
 Next ws
 
End Sub

我找不到代码中规定它应该保存为多个PDF还是仅一个的部分。

非常感谢您的帮助。

敬礼, Fredrik

1个回答

4

就像这样:

Sub LoopSheetsSaveAsPDF()
 
    Dim ws As Worksheet, repl As Boolean, n As Long
    
    repl = True 'first sheet selection replaces any previous selection
    For Each ws In ActiveWorkbook.Worksheets
       Select Case ws.Name
           Case "Mall", "Grunddata"
               ''/// ignore these sheets
           Case Else
               ws.Select Replace:=repl
               repl = False 'subsequent sheets get added
       End Select
    Next ws
 
    If Not repl Then 'got at least one sheet?
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
           Filename:=ThisWorkbook.Path & "/AllSheets.pdf"
    End If
End Sub

1
是的,就像这样,非常感谢你,Tim! :) - HanAnd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接