Что может привести к сбою Shape.Cut в Excel VBA? - PullRequest
0 голосов
/ 12 июня 2009

В моем макросе есть метод, который выполняет следующий код:

Set myDocument = Worksheets("sheet1")
For each sh in myDocument.Shapes
    If sh.Name = "square" Then
        sh.Cut
    End If
Next

Моя проблема в том, что код вызывает ошибку в строке sh.Cut . Я знаю, что есть форма, называемая «квадрат» - я вижу (визуально) форму в документе, но Excel просто не хочет вырезать эту форму. Любые предложения относительно того, почему это может быть?


РЕДАКТИРОВАТЬ: Чтобы уточнить, такое поведение не всегда происходит. Обычно все в порядке - кажется, что это иногда случается, но я не вижу никакой взаимосвязи между моментами, когда это происходит.

Спасибо.

1 Ответ

2 голосов
/ 12 июня 2009

Есть только две причины когда-либо использовать метод Select. 1) Вы хотите что-то выбрать. 2) Вы работаете с фигурами и получаете странные ошибки. Это не имеет смысла, но попробуйте

sh.Select
sh.Cut

и держу пари, это будет работать каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...