粘贴为位图的Excel图表(形状)将不会在VBA中调整宽度



我在电子表格中有一个图表,我想将其复制为位图,并放置在同一工作表中的其他位置。我的代码在下面,尽管没有什么可看的。无论我将.width更改为什么,图表的宽度都不会根据我的指示进行调整。但是,如果我更改.Height,宽度就会发生变化。这表明粘贴的位图图像坚持保持其原始比例。

这个属性是位图对象特有的吗?有没有办法在不将粘贴格式更改为位图以外的格式的情况下解决这个问题?

谢谢你的帮助。

Set AB = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
With AB
.Left = ActiveSheet.Range("AB1").Left
.Top = ActiveSheet.Range("AB1").Top
.Width = ActiveSheet.Range("AB100:BM100").Width
.Height = ActiveSheet.Range("AB1:AB50").Height
End With

我猜您粘贴的位图已经设置了"锁定纵横比"(设置图片格式->大小和属性(。在这种情况下,Excel将在设置高度后更改位图的宽度(以保留位图的纵横比(。

在设置Height和Width属性之前,请使用.LockAspectRatio=msoFalse

最新更新