如何 select 代码中的几个特定选项卡而不是选项卡名称

How to select several specific tabs in a code rather than tab names

我正在为 select 3 个要转换为 PDF 的特定选项卡创建 VBA 代码。我希望能够从 "Microsoft Excel Objects" 中的工作表列表中 select 3 个特定的工作表,这样即使工作表的顺序被更改或工作表被重命名,相同的选项卡也会 select编辑并转换为 PDF。

目前,我有 select 前 3 个选项卡的代码。 (效果很好)

 Sheets(Array(1, 2, 3)).Select

我试过下面的方法(没用)

Sheets(Array(Sheet1, Sheet2, Sheet3)).Select

预期结果是能够从 "Microsoft Excel Objects" 中的工作表列表中 select 3 个特定工作表,这样即使工作表的顺序被更改或重命名,相同的选项卡也会select编辑并转换为 PDF。

一种方法是为每个要导出的 sheet 分配一个唯一的 CustomProperty

Sub qwerty()
    ActiveSheet.CustomProperties.Add Name:="PDF", Value:="pdf1"
End Sub

与其他两个 sheet 类似。

然后当您想要导出时,遍历所有 sheet 以寻找合适的 CustomProperty。 sheet 名称是否已更改、代号是否已更改或 sheet 的顺序是否已更改都无关紧要。

你需要用名字做多select。但是可以参考代号得到名字:Sheet1.Name

Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name)).Select

您可以将 Sheet1 和其他内容更改为您想要 select 的工作表的代号。