Страницы: 1
RSS
Ошибка 91: Object variable or With block variable not set -как избавиться от ошибки?
 
Всем доброе утро!    
 
У меня при работе программы возникла следующая ошибка: Object variable or With block variable not set    
 
Источник ошибки известен и понятен, но как сделать так, чтобы программа не выводила эту ошибку?    
 
Сама программа выполняет поочередную обработку нескольких файлов в папке. Один из пунктов обработки программы - это 'Формирование рыночной стоимости, здесь как раз и возникает ошибка, так как рассчет ведется в пределах строк от "Облигации" до "Итого Облигации предприятий:". Ошибка возникает в файлах, где нет таких строк. Как избежать появления ошибки?    
 
Подскажите, пожалуйста.    
С наилучшими пожеланиями, Наташа
 
Спасибо, Дмитрий!  
Теперь выводится и ошибка и сообщение.  
 
А можно ли сделать, чтобы в случае, если слова Облигации не найдены, то выводилось это сообщение без ошибки и при нажатии на кнопку ОК просто продолжался обрабатываться этот файл, т.е переходил к ' Проставляем квалификационное качество "Высокое" в колонку напротив Депозитов ?
 
Спасибо тебе большое!  
 
Кстати, я тоже попробовала по-своему, перед строчкой iRow2 = ActiveWorkbook поставила On Error Resume Next, тоже заработало и всё выполняется:  
 
iRow1 = 0  
On Error Resume Next  
iRow1 = ActiveWorkbook.Sheets(1).Columns("A:R").Find(What:="Облигации", LookIn:=xlFormulas, LookAt:=xlWhole).Row  
If iRow1 = 0 Then MsgBox "Слово Облигации отсутствует на листе"  
On Error GoTo 0  
'Выбираем строки расположенные между iRow1 и iRow2 и сопоставляем их с данными строк, расположенных между nRow1 и nRow2  
 
On Error Resume Next  
 
iRow2 = ActiveWorkbook.Sheets(1).Columns("A:R").Find(What:="Итого Облигации предприятий:", LookIn:=xlFormulas, LookAt:=xlWhole).Row  
 
nRow1 = ActiveWorkbook.Sheets(1).Columns("A:R").Find("% по облигациям").Row  
nRow2 = ActiveWorkbook.Sheets(1).Columns("A:R").Find("Итого % по облигациям:").Row  
 
For i = iRow1 + 1 To iRow2 - 1  
For n = nRow1 + 1 To nRow2 - 1  
If InStr(Cells(n, 1), "№") <> 0 Then 'в ячейке есть №  
nStroka = Mid(Cells(n, 1), InStr(Cells(n, 1), "№")) & ";"  
Else  
GoTo M  
End If  
 
 
 
СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Страницы: 1
Читают тему
Наверх