ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problem with If,Then, Else (https://www.excelbanter.com/excel-programming/439167-problem-if-then-else.html)

John[_22_]

Problem with If,Then, Else
 
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


Rick Rothstein

Problem with If,Then, Else
 
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



John[_22_]

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




Rick Rothstein

Problem with If,Then, Else
 
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





John[_22_]

Problem with If,Then, Else
 
Hi Rick
Explaining myself in English is not my forte but will sure try.
With this line, I'm inserting text in the Triangle
Selection.Characters.Text = "Floor"
If I type this line at the top like this:
ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, _
Left_size, Top_size, Width_size, Height_size).Select
Selection.Characters.Text = "Floor"
it works, but below in the IF statement it doesn't.
What it's doing is numbering the stairs and if you reach the last stair, instead
of a number,
it should print "Floor".
Hope I have explained it better for you, if not , please tell me, will be glad
to try again.
Thank you for your patience.
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





Ryan H

Problem with If,Then, Else
 
Try this. Hope this helps! If so, let me know, click "YES" below.
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"

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

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
--
Cheers,
Ryan


"John" wrote:

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

.


John[_22_]

Problem with If,Then, Else
 
Thanks for your reply.
It's the same thing as Rick, getting the same error.
Any ideas ?
Regards
John
"Ryan H" wrote in message
...
Try this. Hope this helps! If so, let me know, click "YES" below.
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"

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

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
--
Cheers,
Ryan


"John" wrote:

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

.



John[_22_]

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





John[_22_]

Problem with If,Then, Else
 
Thanks for your help Ryan
I got it working,
"ActiveSheet.Range("D2").Select" was in conflict I guess!!
I change its location and it's working.
Regards
John

"Ryan H" wrote in message
...
Try this. Hope this helps! If so, let me know, click "YES" below.
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"

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

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
--
Cheers,
Ryan


"John" wrote:

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

.




All times are GMT +1. The time now is 03:24 AM.

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