View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
John[_22_] John[_22_] is offline
external usenet poster
 
Posts: 694
Default Problem with If,Then, Else

Thanks for your help Rick
I got it working,
"ActiveSheet.Range("D2").Select" was in conflict I guess!!
I change its location and it's working.
Regards
John
"Rick Rothstein" wrote in message
...
Actually, I didn't look at what the code is supposed to be doing; rather, I
just spotted the structural error and posted the correction for it. As to your
current question, what is this line...

Selection.Characters.Text = "Foor"

supposed to be doing? Are you just trying to assign "Foor" to the selected
cell or cells? If so, just do this...

Selection.Value = "Foor"

If you are attempting to do something else, you will have to give a more
detailed description. And, in addition to such a description, I would want to
know if the selected cell or cells contain formulas or text constants.

--
Rick (MVP - Excel)


"John" wrote in message
...
Hi Rick
Thank you for your reply.
When I execute the codes, it stops at this line
Selection.Characters.Text = "Foor"
Runtime error 1004
Unable to set the text property of the character class.
Best regards
John
"Rick Rothstein" wrote in message
...
If nx = Range("A3").Value Then Selection.Characters.Text = "Foor" , Exit
Sub

Else: Selection.Characters.Text = "4"

End If

Forget trying to combine things on the same line and use normal blocking...

If nx = Range("A3").Value Then
Selection.Characters.Text = "Foor"
Exit Sub
Else
Selection.Characters.Text = "4"
End If

As for your error, you can't mix putting commands after the Then keyword
with Else conditionals. If you have this...

If <logical expression Then <do something

then you cannot follow it with an ElseIf nor and Else; however, if you put
the <do something code on a separate line from the Then keyword, you can.

--
Rick (MVP - Excel)


"John" wrote in message
...
Hi Everyone
Below is a sample of my codes for a Staircase Calculator.
My problem is at the If command at the bottom, I tried different things
but no success, I need your help.
Regards
John

Sub Make_Stairs4()

Dim nx As Variant
nx = 4
Application.ScreenUpdating = False
ActiveWindow.Zoom = 100

Height_size = Range("G1").Value
Width_size = Range("G2").Value
Left_size = Range("K1").Value
Top_size = Range("K2").Value

ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, _
Left_size, Top_size, Width_size, Height_size).Select

'Selection.Characters.Text = "4"

Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Transparency = 0.65
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.ForeColor.RGB = RGB(10, 10, 10)
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)

ActiveSheet.Range("D2").Select

If nx = Range("A3").Value Then Selection.Characters.Text = "Foor" , Exit
Sub

Else: Selection.Characters.Text = "4"

End If

Call Make_Stairs5

End Sub