vba - 在 Excel VBA 中选择工作表范围

标签 vba excel

我正在尝试在 Excel 宏中选择一系列工作表,以便可以打印它们。

我想打印一个范围,即 Sheet2-Sheetx,其中 x 是一个变量。

我曾尝试录制一个宏来做我想做的事,但它使用工作表名称而不是工作表引用,当然也不支持变量。

在这个例子中,我选择了三张纸,所以 x=3:

Sheets(Array("Data", "Data (2)", "Data (3)")).Select
ActiveWindow.SelectedSheets.PrintOut preview:=True

我本以为这很简单,但似乎无法弄清楚。

提前致谢。

最佳答案

.Name是你需要得到的属性(property)
工作表的名称如下:

WorkSheets(Array(Worksheets(1).Name, Worksheets(2).Name, Worksheets(3).Name)).Select

如果你想做得更好,使用 N作为一个变量,试试这样:
Public Sub SelectN()

    Dim N           As Long: N = 2
    Dim cnt         As Long
    Dim arrOfWs     As Variant

    ReDim arrOfWs(N - 1)
    For cnt = 1 To N
        arrOfWs(cnt - 1) = Worksheets(cnt).Name
    Next cnt
    Worksheets(arrOfWs).Select

End Sub

关于vba - 在 Excel VBA 中选择工作表范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48639776/

相关文章:

sql - 名称的替代代码

vba - Excel "phantom"数据 : 600KB used by empty cells

excel - 编写一个vba excel函数,不知道参数是字符串还是字典

vba - Excel ListObject 表 - 从 ListObject 表中删除过滤/隐藏行

excel - 在 vba 中使用单元格()作为字符串时出错?

vba - Excel VBA sumifs 定义为字符串

vba - 从电子邮件中提取第 3 行和第 4 行

excel - 将 VBA 公式插入定义的范围

vba - 在 Excel VBA 编辑器中生成子程序/函数一般注释

xml - VBA 高度持久的运行时错误 91