vba - VBA引用工作表和图表表

标签 vba charts worksheet refer

我正在尝试编写一个小的函数,该函数在excel中使用文件路径(保存工作簿的位置),目标路径(将pdf保存到的位置)和选项卡名称的字符串(用竖线(|)分隔)。

函数的用户不必输入选项卡名称的字符串(这是可选的),如果不需要,我想选择所有可见的选项卡并进行打印。如果用户在单独的工作表中有50个图表并且不想编写类似“Chart1 | Chart2 | ...”的字符串,就属于这种情况。

代码:

For Each WSO.Name In WBO.Worksheets 
    strSheets = strSheets & WSO.Name & "|" 
Next WSO

strSheets = Left(strSheets, Len(strSheets) - 1) 
arraySheets() = Split(strSheets, "|")

WBO.Sheets(arraySheets()).Select     
WBO.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ 
    strFilePath, Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ 
    True

For Each循环存在两个问题:它不抓取任何表(如“Chart1”),而仅抓取诸如“Sheet1”的表。另外,它将抓取隐藏的工作表,以便当我尝试选择所有隐藏工作表时,出现错误。

我不知道图表表与常规表的引用方式是否不同,或者为什么还选择隐藏表。

最佳答案

在循环中使用WBO.Sheets而不是WBO.Worksheets

验证是否使用WSO.Visible = xlSheetVisible筛选出隐藏的工作表。

关于vba - VBA引用工作表和图表表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6797427/

相关文章:

vba - Access VBA - 将 Access 表单导出为 PDF,然后关闭 Adob​​e Reader

excel - 同步功能区下拉菜单以显示事件工作表

javascript - 将数组传递给 Google Chart

javascript - 如何从 chart.js 的 html 表中动态添加元素

PHPExcel 一次在多个工作表上设置相同的属性、内容等

vba - 如何通过另一个工作簿中的 VBA 对象名称引用 Excel 工作表?

excel - 尝试在事件工作簿中引用另一个工作表

vba - 如何检查字符串是否包含连续整数

excel - 为什么单字母 UDF 名称不能使用 C 或 R?

javascript - 谷歌的条形图——试图使其水平,但它仍然是垂直的