簡體   English   中英

在 Excel VBA 中選擇工作表范圍

[英]Select range of sheets in Excel VBA

我正在嘗試在 Excel 宏中選擇一系列工作表,以便可以打印它們。

我想打印一個范圍,即 Sheet2-Sheetx,其中 x 是一個變量。

我試過錄制一個宏來做我想做的事,但它使用工作表名稱而不是工作表引用,當然不支持變量。

在這個例子中,我選擇了三張紙,所以 x=3:

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

我本以為這很簡單,但似乎無法弄清楚。

提前致謝。

.Name是獲取工作表名稱所需的屬性,如下所示:

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

您的代碼似乎對我有用,但是我會縮短它:

Sheets(Array("Data", "Data (2)", "Data (3)")).Printout Preview: = -1

檢查工作表的名稱拼寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM