循环浏览DV列表并将所有数据选择打印到一个pdf文件中

时间:2019-01-12 05:37:56

标签: excel vba

我有一个VBA Excel到pdf代码,但是我不确定如何在数据验证列表中循环它。数据验证列表是玩家名称的集合,列表中的每个选择都与excel工作表上的vlookup交互。这意味着每个选择都会导致将不同的数据拖到图纸上。有没有一种方法可以将选定的每个数据表循环打印到PDF,但是将所有PDF工作表都放在一个文件中? dvCell位于“健身房每周模板”工作表的单元格C8中。

下面是我当前拥有的代码:

Sub PDFActiveSheet()

Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler

Set wbA = ActiveWorkbook
Set wsA = Worksheets("Gym Weekly Template")
strTime = Format(Now(), "yyyymmdd\_hhmm")

'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"

'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "")
strName = Replace(strName, ".", "_")

'create default name for savng file
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile

'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strPathFile, _
    FileFilter:="PDF Files (*.pdf), *.pdf", _
    Title:="Select Folder and FileName to save")

'export to PDF if a folder was selected
If myFile <> "False" Then
wsA.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    FileName:=myFile, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
'confirmation message with file info
MsgBox "PDF file has been created: " _
  & vbCrLf _
  & myFile
End If

exitHandler:
Exit Sub
errHandler:
MsgBox "Could not create PDF file"
Resume exitHandler
End Sub

非常感谢您能提供帮助!

0 个答案:

没有答案