Excel允许您以全彩色创建图表。准备打印图表时,可以指示Excel以“黑白”打印

(通过文件|页面设置|图表|黑白打印)。您可能想知道是否有一种方法可以导出此图表的“黑白”版本,以便可以在其他程序中使用它。

答案是您不能这样做,至少不能直接这样做。要了解原因,您必须了解“黑白打印”功能的工作原理。此功能仅影响发送到打印机驱动程序(发送给打印机)的内容,完全不影响实际的图表。即使单击“打印预览”,您也没有查看实际的图表,而是表示打印后图表的外观。因此,您看到的是打印机输出,而不是实际的图表。

如果要导出图表的黑白版本,有几种方法可以完成任务。第一种是仅在“打印预览”中查看图表并进行屏幕捕获(按Alt + Print Screen)。然后,您可以根据需要将屏幕粘贴到您喜欢的图形程序中并对其进行润色。

如果要导出图表而不是仅捕获屏幕,则应更改图表的颜色,使它们确实是灰度的,并包含与选择黑白打印时所看到的相同的图案。这种方法实际上更改了图表的来源,而不是在打印时依靠Excel来对图表进行转换。完成格式更改后,您甚至可以将图表另存为“图表类型”,以便将其用作创建的其他图表的模式。

如果需要,还可以使用宏在彩色和灰度图表表示之间进行转换。此方法高度依赖于要在图表中使用的颜色,要使用的图表的类型以及图表中的数据系列的数量。下面是一个宏示例,它将在多达五个数据系列的彩色和黑白之间切换数据系列中的颜色。

Option Explicit Public bColored As Integer

Sub ColoredToBW()

Dim cht As Chart     Dim chtSC As SeriesCollection     Dim x As Integer     Dim iSeriesCount As Integer     Dim iColors(1 To 5, 0 To 1) As Integer     Dim iColor As Integer

'Set colors for BW series     iColors(1, 0) = 1 'Black     iColors(2, 0) = 56 'Gray-80%     iColors(3, 0) = 16 'Gray-50%     iColors(4, 0) = 48 'Gray-40%     iColors(5, 0) = 15 'Gray-25%

'Set colors for Color series     iColors(1, 1) = 55 'Indigo     iColors(2, 1) = 7 'pink     iColors(3, 1) = 6 'yellow     iColors(4, 1) = 8 'Turquoise     iColors(5, 1) = 13 'Violet

'Toggle Color/BW change 0 to 1 or 1 to 0     bColored = 1 - bColored

Set cht = ActiveChart

'check that a chart is selected     If cht Is Nothing Then         MsgBox ("Select a chart")

Exit Sub     End If

Set chtSC = cht.SeriesCollection

'Check for MIN of number of series or     'colors and only do the minimum     iSeriesCount = Application.WorksheetFunction.Min _       (UBound(iColors), chtSC.Count)



For x = 1 To iSeriesCount         'Define the color         iColor = iColors(x, bColored)



'Set the LINE color         chtSC(x).Border.ColorIndex = iColor

'Marker color         With chtSC(x)

.MarkerBackgroundColorIndex = xlNone             .MarkerForegroundColorIndex = iColor         End With     Next x End Sub

本示例不适用于所有图表类型。您将需要对其进行修改以反映您的需求。但是,它将作为制作自己的宏的起点。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2204)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: