ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   end if without block if (https://www.excelbanter.com/excel-programming/393820-end-if-without-block-if.html)

Dirk Nachbar

end if without block if
 
This is a very eay macro and yet Excel complains about an "end if
without block if". Why???

Sub check()

Count = 0
For i = 1 To 9
For j = 1 To 9
If Cells(i + 3, j + 3) < Cells(i + 26, j + 26) Then Do
Cells(i + 3, j + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Count = Count + 1
End If
Next j
Next i


If Count 0 Then MsgBox (Count & "are still wrong")
If Count = 0 Then MsgBox ("You have solved it")
End Sub


PCLIVE

end if without block if
 
I'm not sure what the purpose of "Do" is in your code. Try it without. And
I prefer to space out the block if's and with's to make for easier reading
and debugging.

Sub check()

Count = 0
For i = 1 To 9
For j = 1 To 9
If Cells(i + 3, j + 3) < Cells(i + 26, j + 26) _
Then
Cells(i + 3, j + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Count = Count + 1
Else
End If
Next j
Next i


If Count 0 Then MsgBox (Count & "are still wrong")
If Count = 0 Then MsgBox ("You have solved it")
End Sub


HTH,
Paul



"Dirk Nachbar" wrote in message
oups.com...
This is a very eay macro and yet Excel complains about an "end if
without block if". Why???

Sub check()

Count = 0
For i = 1 To 9
For j = 1 To 9
If Cells(i + 3, j + 3) < Cells(i + 26, j + 26) Then Do
Cells(i + 3, j + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Count = Count + 1
End If
Next j
Next i


If Count 0 Then MsgBox (Count & "are still wrong")
If Count = 0 Then MsgBox ("You have solved it")
End Sub




Dirk Nachbar

end if without block if
 
yes it was the DO, thanks

Dirk

On 20 Jul, 17:08, "PCLIVE" wrote:
I'm not sure what the purpose of "Do" is in your code. Try it without. And
I prefer to space out the block if's and with's to make for easier reading
and debugging.

Sub check()

Count = 0
For i = 1 To 9
For j = 1 To 9
If Cells(i + 3, j + 3) < Cells(i + 26, j + 26) _
Then
Cells(i + 3, j + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Count = Count + 1
Else
End If
Next j
Next i

If Count 0 Then MsgBox (Count & "are still wrong")
If Count = 0 Then MsgBox ("You have solved it")
End Sub

HTH,
Paul

"Dirk Nachbar" wrote in message

oups.com...



This is a very eay macro and yet Excel complains about an "end if
without block if". Why???


Sub check()


Count = 0
For i = 1 To 9
For j = 1 To 9
If Cells(i + 3, j + 3) < Cells(i + 26, j + 26) Then Do
Cells(i + 3, j + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Count = Count + 1
End If
Next j
Next i


If Count 0 Then MsgBox (Count & "are still wrong")
If Count = 0 Then MsgBox ("You have solved it")
End Sub- Hide quoted text -


- Show quoted text -





All times are GMT +1. The time now is 12:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com