我正在用excel建立一个报告。
- 完成步骤是选择大部分工作表(“封面”页面右侧的所有工作表,包括封面本身)并将它们打印为 PDF。
- 工作表列表可能会有所不同。
我目前正在手动执行此操作,但如果您知道正确的命令,它似乎可以自动化。
是否可以按照以下方式做一些事情?
Sheets(Array(Sheets("Cover")..Sheets(Worksheets.Count())).Select
ActiveSheet.ExportAsFixedFormat
我不认为有一个单一的衬里。
Sub Tester()
Dim i As Long, fnd As Boolean
For i = 1 To ActiveWorkbook.Sheets.Count
With ActiveWorkbook.Sheets(i)
If .Name = "Cover" Then
fnd = True
.Select
Else
If fnd Then .Select False
End If
End With
Next i
End Sub
如果您输入一组工作表位置,您可以在一行中完成,即
Sheets(Application.Transpose(Application.Evaluate("=ROW(" & Sheets("Cover").Index & ":" & Sheets(Sheets.Count).Index & ")"))).Select
这个怎么运作
Cover
是工作表位置 12 并且总共有 20 个工作表,则
("=ROW(" & Sheets("Cover").Index & ":" & Sheets(Sheets.Count).Index & ")")))
等于
"=ROW("12:20")
Application.Evaluate
生成一个包含 {12,13,14 ... 20} 的二维数组Application.Transpose
将此转换为已处理的一维数组Sheets(1D Array).Select