2016-04-06 2 views
0

Я хочу обработать ошибку в VBA в условии IF. Для моего следующего кода проблема заключается в том, что когда я пишу При ошибке возобновления Следующая обрабатывает ошибку, но продолжает следующую инструкцию, в которой только условие, Но я хочу, чтобы перейти к следующему для циклаVBA для обработки ошибки

Мой код: -

On Error GoTo 0 
On Error Resume Next 
For intRow = 2 To intLastRow 

    If selenium.getText("//form[@id='searchForm']/div[3]/div/div/table/tbody/tr[1]/td[5]") = DOS Then 

    clmn = selenium.getText("//form[@id='searchForm']/div[3]/div/div/table/tbody/tr[1]/td[2]") 
    selenium.findElementByLinkText(clmn).Click 
    FileNo = FileNo + 1 
    Worksheets("Input").Cells(intRow, 9).Value = FileNo 

    End If 

Next intRow 

ответ

1

Вы можете сказать ему, чтобы перейти к мейкера по ошибке:

On Error GoTo errFound 
For intRow = 2 To intLastRow 
    If selenium.GetText("//form[@id='searchForm']/div[3]/div/div/table/tbody/tr[1]/td[5]") = DOS Then 
     clmn = selenium.GetText("//form[@id='searchForm']/div[3]/div/div/table/tbody/tr[1]/td[2]") 
     selenium.findElementByLinkText(clmn).Click 
     FileNo = FileNo + 1 
     Worksheets("Input").Cells(intRow, 9).Value = FileNo 
    End If 
errFound: 
Next intRow 

Однако я бы поставил некоторые операторы if, чтобы попытаться обработать ошибки, а не просто прыгать через них,

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