【问题标题】:Excel VBA to select specifc worksheets from cells to save as 1 pdfExcel VBA 从单元格中选择特定工作表以另存为 1 pdf
【发布时间】:2017-08-11 11:41:30
【问题描述】:

我希望有人可以帮助我。

我有一些代码可以在一个工作簿中选择一系列工作表并将它们保存为一个 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 是我的工作表。

谢谢

【问题讨论】:

  • 这不是免费的代码编写服务。请通过编辑您的问题显示您已有的代码。
  • 抱歉,这一切都是新手。我已经添加了到目前为止的代码。

标签: vba excel pdf


【解决方案1】:

这对我有用。它使用您的第二种方法,循环浏览工作表,直到找到“在 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

【讨论】:

  • 嗨乔希,感谢您的帮助。我试过这段代码,但它把每一页都生成为一个单独的 PDF,我需要一些东西来选择所有工作表,直到那个工作表然后创建一个 pdf?
  • 好的。在这种情况下,我不知道 VBA 中的一种方法(很可能),但是您可以手动将 PDF 合并为一个,或者手动执行整个操作 - 按住 Ctrl 并选择您想要的选项卡,然后将工作簿另存为 PDF。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多