ошибка времени выполнения -2147024809 (80070057): изменение размера фигуры - PullRequest
0 голосов
/ 28 января 2019

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

Worksheets ("Global Quarterly"). Shapes (Picture1) .Width = 1607.76

GlobalFile.Activate
Sheets("Sheet1").Select
ActiveSheet.Paste Destination:=Range("B25")
Selection.Name = "Picture1"
Worksheets("Global Quarterly").Shapes(Picture1).Width = 1607.76
Range("A1").Select
Application.ScreenUpdating = False

1 Ответ

0 голосов
/ 28 января 2019

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

Укажите Option Explicit в верхней части каждого модуля;это сделает ваш код некомпилируемым до тех пор, пока не будут объявлены все переменные, что помогает предотвратить опечатки и требует минимальной строгости в использовании переменных.

Если имя фигуры "Picture1" (обратите внимание на разделители строк / двойные кавычки), тогда вам нужно сделать , как Лоди намекнул :

Worksheets("Global Quarterly").Shapes("Picture1").Width = 1607.76
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...