我正在excel制作报告。
我目前正在手动执行此操作,但如果您知道正确的命令,似乎可以自动执行此操作。
是否可以在以下行中执行某些操作?
Sheets(Array(Sheets("Cover")..Sheets(Worksheets.Count())).Select
ActiveSheet.ExportAsFixedFormat
答案 0 :(得分:4)
我不认为这有一个单行。
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
答案 1 :(得分:1)
如果你输入一系列的工作表位置,你可以在一行中完成,ie.e
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