excel - 使用 VBA 选择一系列工作表
问题描述
我想在 VBA 中编写一个打印宏,它将打印到 pdf 中的所有工作表,包括一个名为“开始”的工作表和一个名为“结束”的工作表。我不想使用所有工作表名称,因为如果在“开始”和“结束”之间插入新工作表,我希望代码能够工作。我基本上只需要选择工作表的代码。任何帮助,将不胜感激。
解决方案
请尝试以下方法;
Sub SaveBeginningToEnd()
Dim wsBeginning As Worksheet
Dim wsEnd As Worksheet
On Error Resume Next
Set wsBeginning = ThisWorkbook.Worksheets("Beginning")
Set wsEnd = ThisWorkbook.Worksheets("End")
On Error GoTo 0
If wsBeginning Is Nothing Then
Debug.Print "Cannot find worksheet Beginning"
Exit Sub
ElseIf wsEnd Is Nothing Then
Debug.Print "Cannot find worksheet End"
Exit Sub
ElseIf wsBeginning.Index > wsEnd.Index Then
Debug.Print "Beginning Worksheet is after End Worksheet."
Exit Sub
End If
Dim varSheets() As Long
ReDim varSheets(wsEnd.Index - wsBeginning.Index)
For i = wsBeginning.Index To wsEnd.Index
varSheets(i - wsBeginning.Index) = i
Next i
ThisWorkbook.Sheets(varSheets).Select
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
fd.AllowMultiSelect = False
fd.Title = "Save As PDF"
Dim intIndex As Integer
For intIndex = 1 To fd.Filters.Count
If fd.Filters(intIndex).Description = "PDF" Then fd.FilterIndex = intIndex
Next
If fd.Show = -1 Then
ThisWorkbook.ExportAsFixedFormat xlTypePDF, fd.SelectedItems(1)
End If
End Sub
推荐阅读
- django - Django admin,如何在查看和编辑期间隐藏特定模型字段
- amazon-web-services - AWS Cloudformation 输出 ElastiCacheCluster
- android - 底部导航的导航组件总是创建新的片段
- laravel - Illuminate \ Database \ QueryException (42P01) SQLSTATE[42P01]: Undefined table: 7 ERROR: relationship "suggesteds" does not exist LINE 1
- python - 尝试使用 Arduino 时出现 Python TypeError
- awk - for 循环不会遍历 csv 验证器中的每一行
- php - 两种 PHP 缓存技术
- powershell - 将对象属性添加到 Powershell 中的另一个对象
- ios - MFMailComposeViewController 布局错误
- parameters - Wiremock 单个查询参数的多重匹配