ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Arguments as properties (https://www.excelbanter.com/excel-programming/301106-arguments-properties.html)

BruceD[_2_]

Arguments as properties
 
I'm sure I'm doing this wrong, but I'm trying to use an
argument (variable) as a property:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = "xlThin"
If ob1 = 2 Then ob1 = "xlThick"
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

I've used a MsgBox to confirm that ob1 is indeed set to
xlThick or xlThin, but I get run time error 1004 Unable
to set Weight property of the Border class.

Am I making a simple syntax error, or is this approach
not possible? Any help most greatfully appreciated!


BruceD

Chip Pearson

Arguments as properties
 
Bruce,

Get rid of the quotes around xlThin and xlThick.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"BruceD" wrote in message
...
I'm sure I'm doing this wrong, but I'm trying to use an
argument (variable) as a property:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = "xlThin"
If ob1 = 2 Then ob1 = "xlThick"
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

I've used a MsgBox to confirm that ob1 is indeed set to
xlThick or xlThin, but I get run time error 1004 Unable
to set Weight property of the Border class.

Am I making a simple syntax error, or is this approach
not possible? Any help most greatfully appreciated!


BruceD




ijb

Arguments as properties
 
Try:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = xlThin
If ob1 = 2 Then ob1 = xlThick
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

--
If I've mis-understood the question please tell me.

HTH

ijb

Replies to group please

Not MCSD, MVP, TLA, P&P, PCMCIA, etc just trying to help


"BruceD" wrote in message
...
I'm sure I'm doing this wrong, but I'm trying to use an
argument (variable) as a property:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = "xlThin"
If ob1 = 2 Then ob1 = "xlThick"
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

I've used a MsgBox to confirm that ob1 is indeed set to
xlThick or xlThin, but I get run time error 1004 Unable
to set Weight property of the Border class.

Am I making a simple syntax error, or is this approach
not possible? Any help most greatfully appreciated!


BruceD




Dana DeLouis[_3_]

Arguments as properties
 
Just to add to the others. In Excel XP, xlThin has a value of 2, so you may
want to change your logic.

?xlThin
2

One of a few ways:

If ob1 = 1 Then
ob1 = "xlThin"
ElseIf ob1 = 2 Then
ob1 = "xlThick"
Else
' ??
End If


HTH
Dana DeLouis


"BruceD" wrote in message
...
I'm sure I'm doing this wrong, but I'm trying to use an
argument (variable) as a property:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = "xlThin"
If ob1 = 2 Then ob1 = "xlThick"
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

I've used a MsgBox to confirm that ob1 is indeed set to
xlThick or xlThin, but I get run time error 1004 Unable
to set Weight property of the Border class.

Am I making a simple syntax error, or is this approach
not possible? Any help most greatfully appreciated!


BruceD




BruceD[_2_]

Arguments as properties
 
Thanks to all who thought about this and answered!

Chip was right: getting rid of the quotes solved the
problem.

Bruce
-----Original Message-----
Bruce,

Get rid of the quotes around xlThin and xlThick.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"BruceD" wrote in

message
...
I'm sure I'm doing this wrong, but I'm trying to use an
argument (variable) as a property:

Sub Test1()
ob1 = InputBox("Border: thin (1) or thick (2): ")
If ob1 = 1 Then ob1 = "xlThin"
If ob1 = 2 Then ob1 = "xlThick"
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = ob1
.ColorIndex = 1
End With
End Sub

I've used a MsgBox to confirm that ob1 is indeed set to
xlThick or xlThin, but I get run time error 1004 Unable
to set Weight property of the Border class.

Am I making a simple syntax error, or is this approach
not possible? Any help most greatfully appreciated!


BruceD



.



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

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