It Then Else Question

W

William Wolfe

What is wrong with the following code? I get a compile error 'Else without
IF"

If LinkBudget.Range("E143") < -14 Then
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 6750105
Else
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 255
End If

Thanks,

W Wolfe
 
M

Mike H

Hi,

It's actually the WITH statement giving the error, there's no END WITH. Try
this

If LinkBudget.Range("E143") < -14 Then
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 6750105
End With
Else
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 255
End With
End If

Mike
 
R

Rick Rothstein

You are missing the two End With statements that are needed to close the two
With statements that you created (although you can easily eliminate them as
you only reference back to them one time each). As to why the "Else with If"
message... VB looks to close all statements that require a closing pair
(If..End If, Do..Loop, Select Case..End Select, etc.)... if it is missing
one or more, it just generates a compile error message of what it **thinks**
it could be, but it doesn't analyze the actual structure to see what is
actually missing; so you shouldn't focus on the wording of the message as
much as on the fact that the message was issued, then start looking for a
missing closing statement of some kind.
 
W

William Wolfe

Thanks to all.

W. Wolfe

Mike H said:
Hi,

It's actually the WITH statement giving the error, there's no END WITH.
Try
this

If LinkBudget.Range("E143") < -14 Then
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 6750105
End With
Else
Detail_Report.Cells(61, Column).Select
With Selection.Interior
.Color = 255
End With
End If

Mike
 
D

Dana DeLouis

Detail_Report.Cells(61, Column).Select

Hi. Instead of selecting, would something like this help?

Detail_Report.Cells(61, Column).Interior.Color = _
IIf(LinkBudget.Range("E143") < -14, 6750105, 255)

= = = = = = = = = =
HTH :>)
Dana DeLouis
 

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

Top