VBA代码仅在调试模式下有效,在正常模式下运行时会挂起

时间:2010-08-28 23:20:21

标签: excel-vba vba excel

这个问题让我抓狂。我有以下代码:

'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类的select方法失败”这一错误发生在行中:.Rows(.Range("Start").Row +1 .... 就在IF声明之后。 有任何想法吗? 请帮忙。

1 个答案:

答案 0 :(得分:5)

此错误通常表示您正在尝试选择属于非活动工作表的范围。

几乎总是don't need to select anything

.Rows(.Range("Start").Row+1 & ":" & .Range("End").Row-1).Delete Shift:=xlUp