Your code fails right here:
ElseIf Color <> "GREEN" Or Color <> "BLUE" Then
because one of these must always be False , so Not Green or Not Blue
together is, of course, False
Make it And instead of Or and I think it will work
"d.i.barr" wrote:
>
> Could anyone help me with this query. I simply want to create a line
> that changes colour, which I can do in part. But why when I run the
> code, when BLUE or GREEN is entered into Test Sub, it just runs as
> RED?
>
>
> Code:
> --------------------
> Sub TestShoot()
> Call DrawShooting(171#, 115.5, 255.75, 167.25, 2, "BLUE")
> End Sub
>
> Sub DrawShooting(StartX As Single, StartY As Single, EndX As Single, EndY As Single, _
> Shots As Integer, Optional Color As String)
> Dim Shot As Shape
> Dim i As Integer
> Dim j As Integer
>
> 'AddLine(BeginX As Single, BeginY As Single, EndX As Single, EndY As Single) As Shape - Member of Excel.Shapes
> If IsMissing(Color) Then
> Color = "RED"
> ElseIf Color <> "GREEN" Or Color <> "BLUE" Then
> Color = "RED"
> End If
>
>
> Select Case Color
> Case "RED"
> For i = 1 To Shots
> Set Shot = ActiveSheet.Shapes.AddLine(StartX, StartY, EndX, EndY)
> For j = 1 To 255
> Shot.Line.ForeColor.RGB = RGB(255, 0 + j, 0 + j)
> Application.Wait Now() + 0.0000007
> Next
> Shot.delete
> Next
> Case "GREEN"
> For i = 1 To Shots
> Set Shot = ActiveSheet.Shapes.AddLine(StartX, StartY, EndX, EndY)
> For j = 1 To 255
> Shot.Line.ForeColor.RGB = RGB(0 + j, 255, 0 + j)
> Application.Wait Now() + 0.0000007
> Next
> Shot.delete
> Next
> Case "BLUE"
> For i = 1 To Shots
> Set Shot = ActiveSheet.Shapes.AddLine(StartX, StartY, EndX, EndY)
> For j = 1 To 255
> Shot.Line.ForeColor.RGB = RGB(0 + j, 0 + j, 255)
> Application.Wait Now() + 0.0000007
> Next
> Shot.delete
> Next
> End Select
> End Sub
> --------------------
>
>
> It is obviously something to do with my "
> Code:
> --------------------
> If Color <> "GREEN" Or Color <> "BLUE" Then
> --------------------
> " statement, but I'm not sure what. Also, is there a more intuitive way
> of selecting the colours than repeating similar code for RED GREEN AND
> BLUE. Any help is appreciated.
>
>
> --
> d.i.barr
> ------------------------------------------------------------------------
> d.i.barr's Profile: http://www.excelforum.com/member.php...o&userid=15521
> View this thread: http://www.excelforum.com/showthread...hreadid=381268
>
>
Bookmarks