What is causing "Block if without End if" error?

  • Thread starter Thread starter davegb
  • Start date Start date
D

davegb

Here's my code thus far:

For Each rCell In rOrigCtyList
strOrig = rCell.Value
strOutcomes = rCell.Offset(0, 3).Value
lCurRow = rCell.Row
If strOrig <> "DYC" Then
If strOutcomes <> "DYC" Then
If strOutcomes <> strOrig Then
lOrigCtyNo = Left(strOrig, 2)
lOutcomesNo = Left(strOutcomes, 2)

If lOrigCtyNo > lOutcomesNo Then
Range(rCell, rCell.Offset(0, 2)).Select
Selection.Insert Shift:=xlDown
rCell.Offset(-1, 0) = strOutcomes
End If

If lOrigCtyNo < lOutcomesNo Then
Range(rCell.Offset(0, 3), rCell.Offset(0,
13)).Select
Selection.Insert Shift:=xlDown
rCell.Offset(0, 3) = strOrig
End If

End If
Else
Range(rCell.Offset(0, 3), rCell.Offset(0, 13)).Select
Selection.Insert Shift:=xlDown
rCell.Offset(0, 3) = strOrig

End If
Else: End Sub <-----ERROR
End If
Next rCell
End Sub

I'm getting a block if without end if error at the marked line. I've
matched and rematched the If's and End Ifs. They match. So what am I
missing to cause the error? I want to exit the program when strOrig <>
"DYC' is false.
 
End Sub is the unique end tag. What you want is Exit Sub.

HTH. Best wishes Harald
 
Dave,

A sub can have only one End Sub, which marks the end of the
procedure. No code can appear after an End Sub (except, of
course, other procedures). Rather than End Sub on the erroneous
line, I think you wanted an Exit Sub.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top