我正在寻找一些帮助来解决保存到PDF的问题。我有一张包含2页打印信息的表格。此工作表上显示的信息由下拉选项控制,以选择数百个选项中的一个。我有一个打印到PDF功能,可以正常显示所显示信息的单一视图,因此我使用下拉菜单选择1个选项,然后单击保存到PDF按钮,这一切都很有效。
我需要添加第二个函数,它将循环显示下拉框中的所有可用选项,并将所有这些选项添加到要保存的单个PDF中。我可以处理循环中的所有标准代码,但是如何在循环内部构建PDF文件。我知道如何构建一个工作表数组以导出到单个PDF但是这种“循环”#9;功能是我努力寻找答案的东西。
有人可以帮忙吗?如果您需要更多信息,请询问。
由于
答案 0 :(得分:0)
在解决方案中,假设我们有一个名为Table2的表。 我们还有一个帮助表(用于存储过滤的表),它是Hiden并命名为:Help。
Option Explicit
Sub print_to_pdf()
Dim sh As Long
Dim rg As Range
Dim Rng As Range
Dim rw As Range
Application.ScreenUpdating = False
For Each rw In Range("Table2[#All]").Rows
If rw.EntireRow.Hidden = False Then
If Rng Is Nothing Then Set Rng = rw
Set Rng = Union(rw, Rng)
End If
Next
Rng.Copy
With Sheets("help")
.Visible = True
sh = .Cells(Rows.Count, "A").End(xlUp).Row + 2
Set rg = Range("a3" & ":" & "a" & sh - 2)
.Activate
.Cells(sh, "A").Select
ActiveSheet.Paste
ActiveSheet.PageSetup.PrintArea = rg
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\rep.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
.Visible = False
End With
Application.ScreenUpdating = True
MsgBox "Your PDF Has been Created with Success!!", vbInformation
End Sub
您可以在帮助表中附加数据,然后导出pdf。