用vba打印excel工作簿中所有工作表的首尾页,需要怎么编程?

如题所述

提供一个给您参考,希望对你有帮助:

Sub test()
Dim i%, n%
On Error Resume Next
For i = 1 To Sheets.Count '遍历工作簿中的工作表
With Sheets(i)
If Application.CountA(.UsedRange.Cells) Then '若工作表非空白则执行
.PageSetup.PrintArea = .UsedRange.Address '设置打印范围为已使用的区域
.PrintOut from:=1, To:=1, Collate:=True, Copies:=1, IgnorePrintAreas:=False '打印第一页,份数为1份
n = .PageSetup.Pages.Count '获取页码数
If n > 1 Then '若页码数大于1页,则执行打印最后一页,份数为1份
.PrintOut from:=n, To:=n, Collate:=True, Copies:=1, IgnorePrintAreas:=False
End If
End If
End With
Next i
End Sub追问

我已经设置了打印范围,但最后一页明明有内容,打出来却是空白页

追答

我这个打印范围是已经使用的区域,已经使用的意思不光是单元格里有数字,也有可能是设置过单元格格式或者是合并过单元格等。所有空白页的原因是,这一页下方或右侧的空白行或列里设置了单元格格式等。只需要把表格下方空白行和右侧空白列按整行或者整列删除一下即可。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网