2014-03-31 4 views
1

Когда я изначально запускаю код ниже в режиме отладки, проблем нет. Однако, когда я останавливаюсь и снова запускаю его, он говорит, что подстрочный код выходит за пределы диапазона. Почему это так? Не знаю, почему такая ошибка появляется.Подзаголовок вне диапазона в VBA при запуске этого кода

Dim date1 As Double 
strDate1 = Sheets("Part2").Cells(i, 1).Value 
matchEndRow = Application.Match(CDbl(strDate1), Sheets("1.A").Range("A:A"), 1) 
MsgBox matchEndRow 
matchEndRow = matchEndRow - 1 
MsgBox matchEndRow 

Нужно руководствоваться.

+0

Где вы определяете 'i'? –

+0

за пределами этого .. Для i = от 3 до 4 .. Далее, и этот код внутри. – lakesh

+0

говорит «Подстрочный вне диапазона» или «Тип missmatch»? –

ответ

1

Как следует из комментариев, открылась другая книга, когда код запускается.

Так меняется

Sheets("Part2") и Sheets("1.A")

в

ThisWorkbook.Sheets("Part2") и ThisWorkbook.Sheets("1.A") решает эту проблему.

Смежные вопросы