View Single Post
  #3   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

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