2016-06-25 6 views
0

Я пытаюсь использовать изображение для отображения различных таблиц данных с помощью инструмента камеры.Excel Camera Tool - изменение размера изображения до 100% шкалы

В тесте ниже код работает,

  1. я изменить формулу формы для нового диапазона, а затем я обновить шкалу формы, как он не обновляется автоматически, когда данные на другой лист

    2.Это работает только в том случае, если я дважды нажимаю кнопку. 1-й щелчок меняет источник, но я должен щелкнуть его второй раз, чтобы получить масштаб для сброса до 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 

ответ

2

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 
+0

Я уже пробовал, что, конечно, я поставил его как четвертую строку кода, считая, что масштабирование нужно «пробивать», но теперь это имеет смысл и работает для меня тоже! спасибо –

+0

Я сделал то же самое, но каким-то образом выяснил правильное положение при переходе. Рад, что смог помочь. –

Смежные вопросы