Option Explicit
, скорее всего, отсутствует, что делает Picture1
необъявленной переменной, поэтому во время выполнения вы передаете Variant/Empty
в Item
получатель свойства Worksheet.Shapes
коллекции - и это ни индекс, ни имяформы, так что вы получите ... ну, может быть, довольно запутанную ошибку времени выполнения: более инстинктивной ошибкой было бы выдать ошибку 5 здесь, для "неверного параметра или вызова процедуры" - это Shapes.Item
член (неявный) это бросок;выполнение даже не доходит до вызова члена Shape.Width
.
Укажите Option Explicit
в верхней части каждого модуля;это сделает ваш код некомпилируемым до тех пор, пока не будут объявлены все переменные, что помогает предотвратить опечатки и требует минимальной строгости в использовании переменных.
Если имя фигуры "Picture1"
(обратите внимание на разделители строк / двойные кавычки), тогда вам нужно сделать , как Лоди намекнул :
Worksheets("Global Quarterly").Shapes("Picture1").Width = 1607.76