Image Excel将图片插入单元格-中心并设置移动和大小-单元格正在更改,并且它们不是固定的

Image Excel将图片插入单元格-中心并设置移动和大小-单元格正在更改,并且它们不是固定的,image,vba,excel,Image,Vba,Excel,我正在尝试将图片插入到我的销售概述中。我在网上寻找答案,但我找不到任何简单的解决方案 我有以下代码: ActiveSheet.Shapes.AddPicture Filename:=picturefilename, LinkToFile:=msoFalse, _ SaveWithDocument:=msoCTrue, Left:=picturecell.Left, Top:=picturecell.Top, Width:=75, Height:=75 问题是,细胞是不固定的,这是一个长的循环,

我正在尝试将图片插入到我的销售概述中。我在网上寻找答案,但我找不到任何简单的解决方案

我有以下代码:

ActiveSheet.Shapes.AddPicture Filename:=picturefilename, LinkToFile:=msoFalse, _
SaveWithDocument:=msoCTrue, Left:=picturecell.Left, Top:=picturecell.Top, Width:=75, Height:=75
问题是,细胞是不固定的,这是一个长的循环,每次的位置都会不同,而且细胞比图片更宽

如何在不选择形状的情况下,将图片居中并更改设置以随单元格移动和调整大小?因此,不使用“选择”,因为图片的数量不是固定的,每次都会不同

Selection.Placement = xlMoveAndSize


在顶部声明这一点

Dim Shp As Shape
然后使用
Shp
对象。比如说

Set Shp = ActiveSheet.Shapes.AddPicture(Filename:=picturefilename, _
                                        LinkToFile:=msoFalse, _
                                        SaveWithDocument:=msoCTrue, _
                                        Left:=picturecell.Left, _
                                        Top:=picturecell.Top, _
                                        Width:=75, _
                                        Height:=75)

你可以创建变量,你可以使用它们的左、顶部、高度和宽度,并将它们包含在循环中。

根本不需要使用Excel,但现在我只做一个表,并且需要在列中间对齐的检查标记,类似于这个特征比较图<代码>。http://www.macrium.com/reflectfree.aspx。我在哪里添加答案中的脚本/代码?如何使脚本自动将插入的图片(.png)居中,而不受单元格宽度的影响?您必须计算
左上方,高度和宽度
在code@lowtechsun中实时计算当你说
实时计算
时,你的意思是我将图片居中的单元格宽度取一半,然后将其硬编码到模块中?对于像我这样第一次这样做的ppl,请看这里
http://www.rondebruin.nl/win/code.htm
。现在我知道该把密码放在哪里了。现在我找到了这个脚本:
http://www.exceltip.com/general-topics-in-vba/insert-pictures-using-vba-in-microsoft-excel.html
我可以使用它吗?它会自动将图片居中显示在专栏中?好的,我只需通过键盘选择并将内容切换到所需的帖子即可完成所需操作,因为我需要做的完全足够了。如果脚本继续运行,不断出现错误、调试和更多错误,没有时间学习所有这些@微软很难将简单的图像对齐编码到Excel中,人们会认为这是一项基本功能,必须复制/粘贴50多行代码才能做到这一点,然后出现错误。。嗯,就像电影中乔布斯说他们不能在文字处理器中改变字体一样。吓坏了!回到绘图板。。嗯。
Set Shp = ActiveSheet.Shapes.AddPicture(Filename:=picturefilename, _
                                        LinkToFile:=msoFalse, _
                                        SaveWithDocument:=msoCTrue, _
                                        Left:=picturecell.Left, _
                                        Top:=picturecell.Top, _
                                        Width:=75, _
                                        Height:=75)