在Excel VBA中选择图纸范围
我试图在Excel宏中选择一系列工作表,以便打印它们 我想打印一个范围,即Sheet2 Sheetx,其中x是一个变量 我试着录制一个宏来做我想做的事情,但它使用工作表名称而不是工作表引用,当然也不支持变量 在本例中,我选择了三张图纸,因此x=3:在Excel VBA中选择图纸范围,vba,excel,Vba,Excel,我试图在Excel宏中选择一系列工作表,以便打印它们 我想打印一个范围,即Sheet2 Sheetx,其中x是一个变量 我试着录制一个宏来做我想做的事情,但它使用工作表名称而不是工作表引用,当然也不支持变量 在本例中,我选择了三张图纸,因此x=3: Sheets(Array("Data", "Data (2)", "Data (3)")).Select ActiveWindow.SelectedSheets.PrintOut preview:=True 我本以为这很简单,但似乎无法理解 提前感
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
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
如果您想用N
作为变量,可以这样做:
WorkSheets(Array(Worksheets(1).Name, Worksheets(2).Name, Worksheets(3).Name)).Select
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
检查工作表的名称拼写 优秀的;正是我想要的。谢谢