excel - 在一个pdf中组合多个范围
问题描述
在一些帖子的基础上,我能够制作下面的脚本,它将几个选定的范围打印到 pdf 文件中。但是,所有范围都打印在单独的纸张上。
当前 NewRng.Address="A1:G9,A13:G14,A18:G37"。我认为它可能需要是 "A1:G9;A13:G14;A18:G37" (由 ; 而不是 , 分隔)(?)
有人可以解释如何在一张纸上打印选定的范围吗?
太感谢了!
脚本:
Sub CreatePDF_Selection1()
Dim rng1 As Range, rng2 As Range, rng3 As Range
Dim NewRng As Range
With ThisWorkbook.Sheets("Sheet1")
Set rng1 = .Range("A1:G9")
Set rng2 = .Range("A13:G14")
Set rng3 = .Range("A18:G37")
Set NewRng = .Range(rng1.Address & "," & rng2.Address & "," & rng3.Address)
Debug.Print NewRng.Address
Sheets("Sheet1").Activate
ActiveSheet.Range(NewRng.Address).Select
Sheets(Array("Sheet1")).Select
ThisWorkbook.Sheets(Array("Sheet1")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="U:\Sample Excel File Saved As PDF", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=True, _
From:=1, _
OpenAfterPublish:=True
End With
End Sub
解决方案
而不是选择各种范围,只需隐藏您不想打印的行,然后打印整个范围。
Option Explicit
Sub CreatePDF_Selection1()
Dim rng1 As Range
ThisWorkbook.Sheets("Sheet1").Activate
Set rng1 = Range("A1:G37")
Range("A10:A12").EntireRow.Hidden = True '*** Hide rows not to print ***
Range("A15:A17").EntireRow.Hidden = True
rng1.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="U:\Sample Excel File Saved As PDF", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=True, _
From:=1, _
OpenAfterPublish:=True
Rows("1:37").EntireRow.Hidden = False '*** Unhide hidden rows ***
End Sub 'CreatePDF_Selection1()
高温高压
推荐阅读
- mapbox - Mapbox GL JS - 堆叠/分层图像叠加
- node.js - 使用 Webpack、SASS、NPM 开发 VueJS 应用程序的最佳实践......?
- django - 一个模型中的 Django Rest Framework 类别和子项
- c# - 未调用 C# 按钮事件
- database - HTTP 状态 500 – 内部服务器错误 jsp-tomcat 数据库
- ibm-cloud-infrastructure - 如何使用 API 和 nodejs 在 softlayer 中添加批量硬件访问
- python - _tkinter.TclError:无论我如何编码,图像“...”都不存在
- elixir - 长生不老药苦艾酒自定义标量:日期时间导入错误
- rust - 无法在 u8 数组上使用 byteorder crate 中的方法:在当前范围内找不到类型的方法
- python - 如何为分类属性创建概率分布图?