Код VBA работает только в режиме отладки и зависает при работе в обычном режиме - PullRequest
2 голосов
/ 29 августа 2010

Эта проблема сводит меня с ума. У меня есть следующий код:

'unprotect sheet
If.Range("Start").Row+1<.Range("End").Row then
  .Rows(.Range("Start").Row+1 & ":" & .Range("End").Row-1).Select
  Selection.Delete Shift:=xlUp
  'protect sheet
End if

когда я запускаю его в режиме отладки и отслеживаю код, он работает отлично. Но при запуске кода в обычном режиме (без отладки) выдается сообщение об ошибке «Ошибка выбора метода класса Range». Эта ошибка возникает в строке: .Rows(.Range("Start").Row +1 .... это только после заявления IF. Есть идеи? Пожалуйста, помогите.

1 Ответ

5 голосов
/ 29 августа 2010

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

Вы почти всегда не нужно ничего выбирать :

.Rows(.Range("Start").Row+1 & ":" & .Range("End").Row-1).Delete Shift:=xlUp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...