使用Excel VBA可以将工作表中的图表复制为图片,实现这种操作使用的是ChartObjects对象的CopyPicture方法。本文介绍将Excel中图表复制为图片的具体操作方法。
1、启动Excel并打开包含图表的工作表,打开Visual Basic编辑器,在工程资源管理器中添加一个模块,在模块的“代码”窗口中输入程序代码,如图1所示。具体的程序代码如下所示:
Sub CopyChart()
If ActiveChart Is Nothing Then
MsgBox "请先选择一个图表!"
Exit Sub
End If
ActiveChart.CopyPicture appearance:=xlScreen,Format:=xlBitmap
Range("N8").Select
ActiveSheet.Paste
End Sub

图1 插入模块并输入程序代码
提示
在VBA中,CopyPicture方法能够将选中的图表作为图片复制到剪贴板中,该方法的语法结构如下所示:
表达式CopyPicture(Appearance,Format)
这里,表达式是一个代表ChartObject对象的变量。该方法的Appearance参数是一个可选参数,用于设置图片的复制方式,其默认值为xlScreen。该参数可以设置为下面的两个常量之一。
xlPrinter:图片按其打印效果进行复制。
xlScreen:图片尽可能按其屏幕显示进行复制。
Format参数用于设置图片复制的格式,其默认值为xlPicture。该参数可以设置为下面的两个常量之一。
xlBitmap:位图(.bmp、.jpg、.gif)。
xlPicture:绘制图片(.png、.wmf、.mix)。
2、按F5键运行程序,如果没有选择工作表中的图表,则程序给出提示,提示用户先选择图表,如图2所示;如果已经选择了工作表中的图表,则选择图表被复制,如图3所示。

图2 提示选择图表

图3 选择图表被复制为图片