vb net excel 剪贴板 粘贴_使用VBA实现excel内图片另存的功能

ca2d6e4a03fe6e189692e8dd4478de9c.png
  • 是否你曾疑惑,为什么PPT中右键可以把图片另存到指定的文件夹,而excel的右键没有这个功能?
  • 难道他们不都是微软的吗?
  • 难道他们不都是office里的软件吗?

每次要在excel另存图片的时候,脑海就会不停地反复问这几个问题。于是乎,今天实在忍不住了。所以今天要跟大家分享的是用VBA实现excel另存图片的功能。

效果如下:

de0f5a76bf1845a5b70f60341081a77a.png
https://www.zhihu.com/video/1232329036846141440

第一步

将你想要数据区域复制,然后右键--选择性粘贴--图片

(当然,这一步只是为了演示,而需要先做一个图片出来,并不是必要步骤)

11216f86d6441f7154b1681ecb13e3b3.png
第二步

按住alt和F11,打开VB界面,插入-模块,然后把以下代码复制粘贴至窗口,代码如下:

Sub 另存图片()
    Dim shp As Shape
    picName = Application.Caller
    With ActiveSheet
    Set shp = .Shapes(picName)
    shp.Copy
         With .ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart
              .Parent.Select
              .Paste
              .Export ThisWorkbook.Path & "" & shp.Name & ".jpg"
              .Parent.Delete
         End With
   End With
End Sub

贴完后即可右上角XX,关闭VB界面

6c2ee534104cd2e6283d1a10d708bc62.png

第三步

右键你要另存的图片,选择指定宏,然后弹出下面的框框,点击框里面的“另存图片”,点确定

59879feebf96a0ab157c5e080de9446e.png

第四步

此时,你把鼠标移动到刚才的图片上的时候,就会如下图一样,鼠标变成一个手指,用尽全力点击,点完后,打开你excel保存的地方,就会发现多了一张jpg图片,搞定(因为上面的代码设定的保存位置与excel文件一致,所以请先保存你的excel,当然你也可以修改,直接指定图片保存的位置)

d8457dde4159aba01210be1b4548bb6a.png

以上的代码是实现对指定的图片进行另存,你也可以修改代码,加个for循环,不用点击,直接把excel内的所有图片另存。

更多excel小技巧,可查看公众号“Atman小课堂”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值