移动工作表图片并调整大小的VBA代码
文章主题:场景说明, Excel, VBA代码, 图片移动
在本篇文章中,我们将探讨如何将Excel工作簿内所有工作表中的图片移动至各自工作表的A1单元格,并将其大小调整为当前的一半。首先,我们需要明确场景的具体需求,以便于我们能够按照步骤完成操作。
1-1、当前表格中有3个表,每个表中都有一幅大图,如下所示:
二、先打开Excel中的开发模式。
2-1、点击左上角“文件”按钮
2-2、点击“选项”按钮
2-3、再点击“自定义功能区”
2-4、勾选“开发工具”选项,并点击“确定”按钮。
2-5、菜单栏就出现了“开发工具”这一选项。
三、给ChatGPT下达命令。
3-1、在对话框中输入以下命令:
作为一名文章写作高手,我将为您提供一段经过改写的VBA代码,该代码可以将当前Excel工作簿中所有工作表中的图片移动至各自工作表的A1单元格,并将其大小调整为当前的一半。以下是改写后的VBA代码:“`vbaSub MoveAndResizePictures() Dim ws As Worksheet Dim shp As Shape Dim i As Integer For Each ws In ThisWorkbook.Worksheets For Each shp In ws.Shapes If shp.Type = msoPicture Then shp.CopyPicture ws.Range(“A1”).Select shp.Paste With shp .LockAspectRatio = msoTrue .Height = .Height / 2 .Width = .Width / 2 End With ws.Range(“A1”).Select shp.Delete End If Next shp Next wsEnd Sub“`这段代码将遍历当前Excel工作簿中的所有工作表,并检查它们其中的所有形状。如果一个形状是一个图片,那么它会复制这个图片,将其粘贴到工作表的A1单元格,然后调整其大小至原始大小的一半。最后,它会删除已经调整大小并移动到A1单元格的图片。
3-2、复制VBA代码:
Sub ResizePictures()
Dim ws As Worksheet
Dim pic As Shape
ForEach ws In Worksheets
ForEach pic In ws.Shapes
If pic.Type = msoPicture Then
将图片移动到A1单元格并设置大小
pic.ScaleHeight 0.5, msoTrue
pic.ScaleWidth 0.5, msoTrue
pic.Top = ws.Range(“A1”).Top
pic.Left = ws.Range(“A1”).Left
EndIf
Next pic
Next ws
EndSub
3-3、将代码粘贴到此处:
3-3-1、第一步:点击“开发工具”,第二步:再点击“Visual Basic”
3-3-2、自动弹出新的对话框,在红框区域鼠标点击右键
3-3-3、在新弹出的对话框中复制出刚才的代码。
3-3-4、点击运行按钮。
3-3-5、关闭当下窗口,回到excel
四、完成作业。
如有咨询请留言回复。
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!