繁体   English   中英

Excel VBA从单元格中选择特定的工作表另存为1 pdf

[英]Excel VBA to select specifc worksheets from cells to save as 1 pdf

我希望有人能帮助我。

我有一些代码可以在一本工作簿中选择一系列工作表,并将它们另存为一个PDF文件。 目前,这些工作表已专门编码到VBA中。

我想使它更具动态性,并让代码读取要从一系列单元格中选择哪些工作表,以及要选择的每个工作表的标题,以便可以根据需要在其他地方轻松使用此代码。

另外,我的所有工作表都井井有条,因此我只需要选择前14个工作表,第15个工作表称为“在PDF上停止”,其后是一些输入文件和配置页等。所以也许有些代码选择了所有工作表。工作表,直到达到具有该特定名称的工作表为止?

到目前为止,这是我的代码:

Sub AutoPDFReport()


Dim myDir As String, mySht As String

myDir = "I:\" & Sheets("Config").Range("N7").Value
mySht = Sheets("Config").Range("N9").Value

On Error Resume Next
MkDir myDir
On Error GoTo 0

Sheets(Array("Overview_For_Email", "XXXX", _
    "XXXX", "XXXX", _
    "XXXX", "XXXX", _
    "XXXX", "XXXX", _
    "XXXX", "XXXX", _
    "XXXX", "XXXX", _
    "XXXX", "XXXX")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=myDir & "\" & mySht & Format(Now, "yyyy") & "-" & Format(Now, "mm") & "-" & Format(Now, "dd") & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True

Worksheets("SalesReportSlim").Select  

结束子

XXXX是我的工作表。

谢谢

这对我有用。 它使用第二种方法,循环浏览工作表,直到找到“在PDF上停止”,然后另存为PDF。 只需填写正确的目录。 请注意,与excel中的大多数情况不同,字符串比较似乎区分大小写,因此请谨慎输入。

Sub ExportToPDF()

    'cycle through sheets in workbook
    For Each ws In ActiveWorkbook.Worksheets

        'save sheetname and check it - if not "stop", then save as pdf
        Dim newname As String
        newname = ws.Name
        MsgBox (newname)
        If newname = "Stop On PDF" Then
            Exit Sub
        End If

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\[put in your address here]\" & newname & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    Next ws

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM