77百科网
当前位置: 首页 生活百科

excel vba数据一键导出(非常有用的VBA代码)

时间:2023-06-19 作者: 小编 阅读量: 4 栏目名: 生活百科

别担心,既然我们是用VBA来解决问题,解决这种事情重复机械的劳动,当然不是什么难事。进入VBE界面第三步:在VBE工程中插入一个模块。如果文件不多的情况下,按上面的思路手动操作导出也是可以的,其实通过VBA来解决问题也是要先把复杂问题进行简单化,一步步进行分解问题,最终形成完整解决方案。VBA代码使用方式在上面数据准备过程中已经有详细描述了,本次我们直接来运行下代码,实现导出文件中的图片。

本次案例来自悟空问答网友提问,之前由于时间原因,回复比较简单没有给出具体实现方法,今天花时间整理写成图文,希望小伙伴们都可以学会。@沉默的生物钟


实际问题

一、数据模拟--素材准备

为了更加真实的还原提问者遇到的问题,我们需要准备600个且都包含有2个图片的Excel文件。


一两个文件我们可以手动新建就可以了,这可是600个文件呐!别担心,既然我们是用VBA来解决问题,解决这种事情重复机械的劳动,当然不是什么难事。图片我们用以下两个代替,放到当前文件目录下,分别命名为test1.png和test2.png,模拟数据时将test1.png插入到第一个表,test2.png插入到第二个工作表。


test1.png


test2.png




二、数据模拟--分步操作过程


第一步:新建一个Excel文件,将它另存为.xlsm格式。


启用宏的工作簿


第二步:打开新建好的.xlsm文件,按快捷键ALT F11进入VBE界面。


进入VBE界面


第三步:在VBE工程中插入一个模块。


插入模块


第四步:在刚刚新建的模块中粘贴以下代码。


Sub 生成600个含图片的Excel文件()'关闭刷新,防止屏幕抖动Application.ScreenUpdating = False'定义变量iDim i As Integer'定义i从1循环到600For i = 1 To 600'新增一个工作簿Workbooks.Add'往工作簿的第一个工作表中插入图片test1.pngActiveWorkbook.Sheets(1).Pictures.Insert(ThisWorkbook.Path & "\test1.png").Select'往工作簿的第二个工作表中插入图片test2.pngActiveWorkbook.Sheets(2).Pictures.Insert(ThisWorkbook.Path & "\test2.png").Select'将工作簿存储到当前路径下ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & i & ".xlsx"'关闭工作簿ActiveWorkbook.Close'继续循环新建其他工作簿Next'恢复屏幕刷新Application.ScreenUpdating = True'处理完成给出提示MsgBox "600个含图片的Excel文件生成完成!", vbInformation, "提示信息"End Sub


第五步:执行VBA代码,生成我们需要的600个Excel文件


执行VBA代码




三、数据模拟--连贯操作演示:


演示效果


四、图片导出--解决思路

600个案例文件已经准备好了,接下来就是导出文件中的图片:

1. 找出当前目录下的所有Excel文件。

2. 打开找到的Excel文件。

3. 找出Excel文件中的所有工作表。

4. 找出工作表中的所有图片对象。

5. 把找到的每一个图片导出到当前目录下。

如果文件不多的情况下,按上面的思路手动操作导出也是可以的,其实通过VBA来解决问题也是要先把复杂问题进行简单化,一步步进行分解问题,最终形成完整解决方案。VBA代码使用方式在上面数据准备过程中已经有详细描述了,本次我们直接来运行下代码,实现导出文件中的图片。


Sub 导出当前路径下工作簿中的图片()Dim wk$ '定义为工作簿文件Dim i As Integer '定义工作簿中的工作表数量Dim ii As Integer '定义为工作表中的对象个数'关闭刷新,防止抖动Application.ScreenUpdating = False'遍历第一个工作簿文件wk = Dir(ThisWorkbook.Path & "\*.xlsx")'遍历到的文件名不等于空的情况下Do While wk <> ""'如果文件名称和当前的名称是不一样的。If wk <> ThisWorkbook.Name Then'打开遍历到的工作簿Workbooks.Open (ThisWorkbook.Path & "\" & wk)'对打开的工作簿文件进行以下操作With ActiveWorkbook'循环出工作簿中的每一个工作表For i = 1 To .Sheets.Count'循环出工作表中的每一个对象shapeFor ii = 1 To .Sheets(i).Shapes.Count'临时变量,统计shape的个数k = k1'复制shape对象.Sheets(i).Shapes(ii).Copy'创建一个图表对象,宽高与与对象保持一致With .Sheets(i).ChartObjects.Add(0, 0, .Sheets(i).Shapes(ii).Width, .Sheets(i).Shapes(ii).Height).Chart'把图片插入进去.Paste'通过图表对象的导出方法,把图片导出到当前目录下.Export ThisWorkbook.Path & "\" & wk & "_" & k & ".png"'删除图表.Parent.DeleteEnd WithNextNext'关闭打开的工作簿.Close FalseEnd WithEnd If'继续遍历下一个工作簿wk = DirLoop'开启屏幕刷新Application.ScreenUpdating = TrueMsgBox "600个含图片的Excel文件图片导出完成!", vbInformation, "提示信息"End Sub


五、图片导出--操作演示


演示效果



小伙伴们,如果VBA代码有做注释说明,如有任何问题欢迎,评论区讨论,谢谢!

    推荐阅读
  • 魔兽世界烹饪1-375攻略部落(烹饪1-375最省材料攻略)

    联盟和部落的玩家还可以分别从上面两名NPC那里购买到食谱“塔布肉排”和“水煮蓝鱼”,均可用于冲这个阶段的烹饪。具体用这三种里面的哪种来冲到375烹饪各位可以自行考虑。另外,在外域还可以完成烹饪相关的日常任务,奖励是“一箱肉”或者“一桶鱼”,有一定几率会开出稀有食谱,比如下图所示的这几种。

  • 逆天邪神千月打通玄脉(恒影石抛出倾月真相)

    《父女》一章最主要的问题就是恒影石,这个在之前就是一个已知的大伏笔,用来帮助倾月洗白的重要证据。只不过阴差阳错被水媚音截胡了,还是经过倾月一手操作授予资格的,没有办法,无心竟然自己引证相信那位比自己小不了多少的姨娘,这一切都是她干的。最后,夏弘义的嫌疑增大极有可能是虚晃一枪,毕竟火星已经说过曾经的月神帝月无涯才是倾月元霸的亲生父亲。

  • 赏心悦目的目的意思(赏心悦目的目的意思是什么呢)

    以下内容大家不妨参考一二希望能帮到您!赏心悦目的目的意思赏心悦目的目的意思是眼睛。指看到美好的事物而心情愉快。出自明·无名氏《人中画·风流配》,“长篇短章,不为不多,然半属套语,半属陈言,求一首清新俊逸,赏心悦目者,迥不可得。”而且一般用于美好的景色。联合式;作谓语、定语;含褒义。

  • 如何制作美味的早餐饼(美味的早餐饼做法介绍)

    下面内容希望能帮助到你,我们来一起看看吧!如何制作美味的早餐饼准备材料:洋葱、胡萝卜、熏肉各适量、鸡蛋2个、面粉200g、盐少许、胡椒粉少许、橄榄油少许。熏肉去皮切成肉末。再在拌匀的面粉里加水,搅拌成面,滴入少许橄榄油再拌匀。开火用厨房纸在锅底抹一层油,倒入一勺面糊,用勺子摊平,烙到两面金黄就好。最后装盘淋上自己喜欢吃的酱汁就好。

  • 幸福还会来敲门钟晴孩子怎么了(幸福还会来敲门介绍)

    以下内容大家不妨参考一二希望能帮到您!幸福还会来敲门钟晴孩子怎么了幸福还会来敲门钟晴孩子不是黄自立亲生的。《幸福还会来敲门》是由鄢钷执导,聂远、吴谨言领衔主演,钱泳辰、毛俊杰、郭家铭、李呈媛、冯恩鹤、白凡主演的都市情感剧。该剧讲述了医生黄自立在经历爱情与事业双重打击后,因意外成为民警方言的帮扶对象,在方言的帮助下重拾信心走出低谷,再次追求幸福的故事。

  • 纯爱cp小说推荐(十二本万人迷受小说推荐)

    沉湎于爱色,苦惑于自我,名扬四海或委散尘埃,皆为伟大人生的光耀之歌。《彗星美人[星际]》作者:引路星文案:一觉醒来,青长夜穿到了千年后,他被检测为罕见的媚骨体质,表面温和优雅,内里一皮一肉尽是狐媚。可是看到那个威胁全世界的存在后,极端颜控的伏苏颤抖着道:“他明明这么温柔又善良,我不管,我要泡他。”数个世界过后,主脑终于发现,它不仅没能消灭林歇,每个世界的人还都成为了林歇的爱慕者!

  • 北京拍外地车摄像头(北京这个位置新增1摄像头)

    大家好,我是立早。疫情期间驾驶证到期,在APP上面做了更换操作,后来觉得要去交管大队麻烦一直没去补交体检信息。最近收到提醒这个月底必须补交,我这急啊,群里一问,直接去指定医院体检就行,不用往交通大队跑。有个交流群就是好,大家互相交流,互相帮助,有需要的朋友赶快进入吧!2020年12月18日新增1个进京证探头新增探头位置:1.昊天大街与长阳路交口东向西地图来源公众号:inbeij

  • 二次污染是指 二次污染是指奶牛患病时导致奶被病原菌污染

    二次污染是指一次污染物在自然条件的作用下,改变原有性质,或与环境中的其他物质发生反应,形成新的污染物。二次污染的危害通常比一次污染严重,并由于其形成机理复杂,防治也较困难。通常是从污染源着手,通过削减污染物的排放量、促进污染物扩散稀释等措施来保证环境治理。

  • 光字旁的字(光字旁的字有啥)

    光字旁的字辉辉,读作huī,最早见于篆文。其本意是指光,光辉,也指光彩,或晨光,用作名词。《说文解字》曰“光也”,即火之光,故初从火,军声,后引申为动词,意为产生光彩,照耀的意思。耀耀,拼音yào,属现代汉语常用字。本意指照耀,引申指显示、炫耀,又引申指光荣,表抽象义。此字被评选为新加坡2015年度汉字。觥觥,汉语二级字,读作觥,古代用兽角做的一种饮酒器皿。尡尡是一个汉语词语,读音是hùn,义未详。