我最终试图将我的excel工作簿中的某些表导出为pdf。VBA - 从命名范围创建数组
我有我想要在命名范围(在列中)导出的工作表的所有名称。作为一个例子,我在“Data_Mappings”选项卡中有A1中的“Total”和A2中的“Total(P)”。这两个单元格具有“Incurred_Graphs”的命名范围。
这里是我当前的代码:
Dim wb As Workbook
Dim TabsArray() As Variant
fp = "C:\Users\chris\Documents\Testing\Graphs\Graphs.pdf"
Set wb = ActiveWorkbook
TabsArray = Worksheets("Data_Mappings").Range("Incurred_Graphs")
'TabsArray = Array("Total", "Total (P)")
wb.Sheets(TabsArray).Select
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=fp, _
Quality:=x1QualityStandad, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
我上 “TabsArray =” 行类型不匹配。
如果我将标签数组更改为注释掉的行,所有内容都会正常工作,我将获得这两个标签的pdf。
我最终想选择基于单个单元格的数组中使用的命名范围。用户有一个下拉菜单,例如可以选择“发生图”或“付费图”。但是我想把这个第一部分弄下来,而不必将表单的所有名称硬编码到VBA中。
谢谢!
给我一个运行时错误“1004”:选择Range类失败的方法。 (我也在每个选项卡上设置了选定的打印范围,因此我只能打印每张纸) – Sqwirtle
奇怪。如果您尝试使用wb.Sheets(“Data_Mappings”),请选择,然后选择ActiveSheet.Range(“Incurred_Graphs”)。他们在哪条线上失败? –