如何用vba将excel单元格区域的内容转化为图片?

您所在的位置:网站首页 word中的表格转化成图表的方法 如何用vba将excel单元格区域的内容转化为图片?

如何用vba将excel单元格区域的内容转化为图片?

2024-05-31 02:23| 来源: 网络整理| 查看: 265

如何用vba将excel单元格区域的内容转化为图片? 2019年3月18日 作者:水星Excel 13,962 次浏览 暂无评论

在vba中如果要将excel的单元格区域内容转化为图片,可以有多种方法。

方法1:使用Range对象的CopyPicture方法将单元格区域复制为图片,这与单击“开始”选项卡下的“复制为图片”是一样的效果,如下图所示:

Range对象的CopyPicture方法具有两个参数,分别为Appearance参数,用于指定复制后的图片的外观是如屏幕所示还是如打印效果,以及Format参数,用于指定格式是图片还是位图。

方法2:使用Range对象的Copy方法将单元格区域复制到剪贴板。

Range对象的Copy方法只有一个参数Destination,用于指定要粘贴的单元格区域,如果省略这个参数,则表示复制到剪贴板。

以上两种方法介绍了如何将excel单元格区域的内容转化为图片,转化以后我们往往需要使用图片,这时候可以使用如下的几种方法:

方法1:使用Range对象的PasteSpecial方法,粘贴剪贴板中的图片。

这里需要特别注意的是,Range对象的PasteSpecial方法具有Paste,Operation,SkipBlanks,Transpose等参数,但是在粘贴剪贴板中的图片时,所有这些参数都必须省略,否则将报错。

代码如下:

Sub QQ1722187970() Dim oRng As Range Dim oWK As Worksheet Set oWK = Excel.ActiveSheet Set oRng = oWK.Range("a1:d5") '将a1:d5单元格区域的内容复制为图片 oRng.CopyPicture '省略所有参数直接粘贴图片到F1单元格 oWK.Range("f1").PasteSpecial End Sub

方法2:使用Worksheet对象的Paste方法,粘贴剪贴板中的图片。

Worksheet对象的Paste方法有两个参数:Destination参数用于指定要粘贴图片的单元格区域,Link参数用于指定是否与源数据建立关联,Destination参数和Link参数是互为排斥的,如果指定了Destination参数则Link参数必须省略,如果指定了Link参数则Destination参数也必须省略。

代码如下:

Sub QQ1722187970() Dim oRng As Range Dim oWK As Worksheet Set oWK = Excel.ActiveSheet Set oRng = oWK.Range("a1:d5") '将a1:d5单元格区域的内容复制为图片 oRng.CopyPicture '使用工作表的Paste方法粘贴图片 oWK.Paste oWK.Range("f1") End Sub

方法3:使用Worksheet对象的PasteSpecial方法,粘贴剪贴板中的图片。

Worksheet对象的PasteSpecial方法相比于Paste方法具有更加丰富的参数,具体的可以查看帮助文档。其中Worksheet对象的PasteSpecial方法默认将粘贴剪贴板的内容到活动单元格中。

代码如下:

Sub QQ1722187970() Dim oRng As Range Dim oWK As Worksheet Set oWK = Excel.ActiveSheet Set oRng = oWK.Range("a1:d5") '将a1:d5单元格区域的内容复制为图片 oRng.CopyPicture '使用工作表的PasteSpecial方法粘贴图片 oWK.PasteSpecial End Sub

总结:以上介绍了在vba中将excel单元格区域的转化为图片的几种方法,可以灵活使用。

 

有时候我们希望把单元格区域转换成图片,拷贝到各个软件中,可以使用如下的代码:

Sheet1.Range(“a1:f16”).CopyPicture Sheet1.Paste Sheet1.Range(“a1”) Dim op As Shape For Each op In Sheet1.Shapes If op.Type 8 Then op.Copy op.Delete End If Next

其它相关文章推荐:如何在excel工作表中插入圆形?如何在vba中访问PPT中幻灯片的文本框等控件?如何在word文档添加第X页,共X页并且会自动更新的页码?如何在ppt中设置单击图形时可以执行宏或vba代码?如何在access中创建窗体?如何用vba判断word文档中是否有高亮(颜色)的文字? 分类 :  EXCEL VBA , VBA 标签 :  copy , CopyPicture , Paste , PasteSpecial , vba , 单元格区域 , 图片 , 复制 , 粘贴        

声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3