以黑白和彩色打印(Microsoft Excel)
Ken的工作簿包含30个工作表。他想以黑白方式打印1至29页,彩色30页。他想知道是否有一种方法可以一次打印所有工作表,并指定一个特定的工作表应仅以彩色打印。
使用宏最容易做到这一点。只需在每个工作表打印之前为它设置.BlackAndWhite属性。
例如,考虑下面的简单宏:
Sub PrintSingleColorSheet() Dim w As Worksheet Dim S As Integer ' Set worksheet to be in color ' (All others will print in B/W) S = 30 For Each w In Worksheets w.PageSetup.BlackAndWhite = True If w.Index = S Then w.PageSetup.BlackAndWhite = False End If w.PrintOut Next w End Sub
宏在S变量中存储您希望使用彩色的工作表的索引号。 (在这种情况下,索引号为30。)然后,逐步浏览每个工作表,并将.BlackAndWhite属性设置为True。但是,如果工作表的.Index属性与S中存储的值匹配,则.BlackAndWhite属性将设置为False,这意味着它将以彩色打印。然后将打印输出发送到默认打印机。
如果需要,您可以使用该宏,这意味着您可以要求用户以彩色打印哪个工作表:
Sub PrintSingleColorSheet() Dim w As Worksheet Dim S As Integer Dim sTemp As String Dim sMsg As String sMsg = "There are " & Worksheets.Count & " worksheets in this " sMsg = sMsg & "workbook. Please enter the number of the single " sMsg = sMsg & "worksheet you want to print in color. (All " sMsg = sMsg & "others will print in black and white.)" sTemp = InputBox(sMsg) S = Val(sTemp) If S > 0 And S <= Worksheets.Count Then For Each w In Worksheets w.PageSetup.BlackAndWhite = True If w.Index = S Then w.PageSetup.BlackAndWhite = False End If w.PrintOut Next w Else sMsg = "You entered a value that is out of range." If sTemp <> "" Then MsgBox sMsg End If End If End Sub
此版本的宏要求用户输入工作表编号。如果输入的值超出范围,则会显示一条错误消息,并且宏不会打印任何内容。如果用户单击“取消”或将输入框留为空白,则宏将直接退出而不打印任何内容。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(13738)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。