如下图所示,Excel里面的图片自动排谱驸扌溺列到E列单元格上边(即:图片高度=单元格高度,图片宽度=单元格宽度,不按顺序排列),手工处理误差大,也比较费时,啥办?
工具/原料
硬件设备:计算机
操作系统:Windows7
办公软件:Excel2010
方法/步骤
1、打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。
2、点击【插入】、【模块】。
3、在模块代码框里边输入以下VBA程序代码。SubShapes_Sort()Dim坡纠课柩i,ShpOnErrorRe霜杼厮贿sumeNext'忽略运行中可能出现的错误Application.ScreenUpdating=False'关闭工作表更新,提高运行速度SetmySheet1=ThisWorkbook.Worksheets("Sheet1")'定义Sheet1工作表i=1'初始值ForEachShpInmySheet1.Shapes'扫描工作表Sheet1里面的每一张图片i=i+1'从第2行开始Shp.LockAspectRatio=msoFalse'不锁定图片的比例Shp.Height=mySheet1.Cells(i,5).Height'图片的高度设为单元格高度Shp.Width=mySheet1.Cells(i,5).Width'图片的宽度设为单元格宽度Shp.Top=mySheet1.Cells(i,5).Top'图片的位置为E列对应单元格到顶部的距离Shp.Left=mySheet1.Cells(i,5).Left'图片的位置为E列对应单元格到左侧的距离NextApplication.ScreenUpdating=True'恢复更新显示EndSub
4、检查无误后,在VBE编辑器的功能区里面点击“运行”图标运行程序。
5、回到Sheet1工作表界面,将会看到图片已经自动排列到E列单元格上边。