【发布时间】:2021-07-20 00:16:19
【问题描述】:
我有一个 excel 仪表板文档,其中单元格 D1 有一个包含 50 个代表名称的下拉列表。当 D1 改变时,页面上的所有数据都会改变。我的代码为 D1 中的每个值导出一个单独的 PDF,并将其加载到我们驱动器上代表的个人文件中。我还想将所有 50 个 PDF 文件合并到一个 PDF 文件中,供我们的管理团队查看并将其保存在单独的文件夹中。我的代码目前如下所示:
Sub MakeFiles()
Dim rep As String
Dim reppath As String
Dim path As String
Dim pathmanagement As String
Dim MyFileName As String
Dim myrange As Range
Dim i As Range
On Error GoTo errHandler
ActiveWorkbook.Sheets("REF").Visible = False
ActiveWorkbook.Sheets("Individual").Activate
path = "C:\Users\ph\vf\Reporting\"
pathmanagement = "C:\Users\ph\vf\Reporting\management"
Set myrange = Worksheets("REF").Range("A2", Worksheets("REF").Range("a2").End(xlDown))
For Each i In myrange
Worksheets("Individual").Range("d1").Value = i
Application.Calculate
rep = Worksheets("Individual").Range("d1").Value
ActiveWorkbook.Sheets("Individual").Activate
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path & ActiveSheet.Range("f1").Value & "\" & ActiveSheet.Range("g1").Value & "\" & "Territory Summary" & " " & ActiveSheet.Range("e1").Value & " " & Format(DateAdd("m", -1, Date), "mmmm yyyy") & ".pdf"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pathmanagement & "\" & "Rep Territory Summaries" & "\" & "Territory Summary" & " " & ActiveSheet.Range("e1").Value & ".pdf"
Next i
MsgBox "Done!"
Exit Sub
errHandler: MsgBox "Could not create PDF file."
End Sub
我是否可以在此代码中添加一些内容来获得一个 PDF,该 PDF 将显示 D1 中所有 50 个值的结果?或者,如果我将每个文件的副本上传到单独的文件夹中,是否有代码会自动将它们合并到一个 PDF 文件中?
【问题讨论】:
-
您可以从同一个工作簿中的多个工作表创建一个 PDF,因此您可以在一个工作簿中制作 50 个仪表板工作表副本,然后从那里导出 PDF。