Excel相机工具 – 调整图像到100%的规模

我正在尝试使用相机工具来显示不同的数据表格。

作为一个testing下面的代码工作,

  1. 我将形状公式更改为一个新的范围,然后我更新形状的规模,因为它不会自动更新时,数据是在不同的工作表

    这只适用于我点击button两次。 第一次点击更改来源,但我必须再次点击它才能将比例重置为100%

任何想法,为什么这是?

Private Sub CommandButton1_Click() Shapes("Display").DrawingObject.Formula = "=Pivots!AS2:BB10" Shapes("Display").DrawingObject.ShapeRange.ScaleWidth 1, msoTrue Shapes("Display").DrawingObject.ShapeRange.ScaleHeight 1, msoTrue End Sub Private Sub CommandButton2_Click() Shapes("Display").DrawingObject.Formula = "=Pivots!AS13:BA27" Shapes("Display").DrawingObject.ShapeRange.ScaleWidth 1, msoTrue Shapes("Display").DrawingObject.ShapeRange.ScaleHeight 1, msoTrue End Sub 

当事情发生时, DoEvents就像是一个魔法咒语。 它通常没有帮助,但这次呢!

 Private Sub CommandButton1_Click() Shapes("Display").DrawingObject.Formula = "=Pivots!AS2:BB10" DoEvents Shapes("Display").DrawingObject.ShapeRange.ScaleWidth 1, msoTrue Shapes("Display").DrawingObject.ShapeRange.ScaleHeight 1, msoTrue End Sub Private Sub CommandButton2_Click() Shapes("Display").DrawingObject.Formula = "=Pivots!AS13:BA27" DoEvents Shapes("Display").DrawingObject.ShapeRange.ScaleWidth 1, msoTrue Shapes("Display").DrawingObject.ShapeRange.ScaleHeight 1, msoTrue End Sub