Arguments as properties

B

BruceD

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
 
I

ijb

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
 
D

Dana DeLouis

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
 
B

BruceD

Thanks to all who thought about this and answered!

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

Bruce
 
Top