工作表单元格区域另存为图片

实例需求:工作表中的表格内容(A1:C8)另存为图片。
工作表单元格区域另存为图片_第1张图片

这个很难吗?确实不难。一定要用VBA吗?不一定呦。先来看看如下操作,在工作表中选中相应的单元格区域,依次点击【开始】选项卡的【复制】下拉按钮->【复制为图片】命令;然后打开图片编辑器,粘贴图片;另存为图片文件。
工作表单元格区域另存为图片_第2张图片
貌似这个操作并不麻烦,如果老板需要你把100个工作表都这样处理一下,求此时的心理阴影面积!
VBA就是来解救你的,翠花,上代码… …

Sub SaveRangeAsPic()
    Dim strPath As String
    Dim Rng As Range
    strPath = ThisWorkbook.Path
    Set Rng = Range("A1:C8")
    Rng.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    ActiveSheet.Paste
    With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
        Selection.Delete
        .Parent.Select
        .Paste
        .Export strPath & "\" & Format(Now(), "yyyymmddhhmmss") & ".jpg", "JPG"
        .Parent.Delete
    End With
End Sub

【代码解析】
第6行代码实现上述手工操作时将单元格区域复制为图片。
第7行代码将剪贴板中的图片粘贴到工作表中,用户获取图片的宽度和高度。PowerPoint中图片可以直接另存为单独文件,但是Excel中不支持这个功能,所以需要借助Chart对象。
第8行代码添加一个Chart对象。
第9行代码删除工作表中粘贴的图片。
第10行代码选中ChartObject对象,此行代码是必须的,否则导出的图片文件是空白的。
第11行代码粘贴图片。
第12行代码将图片导出为文件,保存在当前目录中。
第13行代码删除ChartObject对象。

你可能感兴趣的:(VBA,工作表,Excel,另存为图片,单元格另存为图片,图片,工作表)