View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Defoes Right Boot Defoes Right Boot is offline
external usenet poster
 
Posts: 34
Default draw shape based on cell values

Excellent, that works. Thanks very much Peter.

Only thing I've got to sort out now is that the drawings now indicate that
my calculations for the co-ordinates are totally wrong!!!! But at least I've
got it drawing something!

Thanks again

Phil

"Peter T" wrote:

If you have not set Option Base 1 at the head of your module, try changing

Dim cilldwg(5, 2) As Single


to

Dim cilldwg(1 to 5, 1 to 2) As Single

I notice you are switching sheets back & forth in your loop. Instead, first
select the sheet you want to add the shapes ("Drawing") and try

With Worksheets("Drawing Calcs")
cilldwg(1, 1) = .Cells(i + 2, 19).Value
'etc note the dot before .Cells(
End With

Regards,
Peter T

"Defoes Right Boot" wrote in
message ...
I am trying to draw a series of simple polylines based on cells containing
values calculated from the original user input.

There are up to 20 polylines to be drawn. Each has five set points which

are
found in cells Sn:Zn of sheet "Drawing Calcs" where n is the row number

which
depends on which polyline is being drawn (the first polylines coordinates

are
on row 3)

I have the following code which I hoped would do this but doesn't.

Sub draw()
Dim sides As Integer
Dim i As Integer
i = 0
sides = Worksheets("Drawing Calcs").Range("B24").Value
Dim cilldwg(5, 2) As Single
Do
i = i + 1
Worksheets("Drawing Calcs").Select
cilldwg(1, 1) = Cells(i + 2, 19).Value
cilldwg(1, 2) = Cells(i + 2, 20).Value
cilldwg(2, 1) = Cells(i + 2, 21).Value
cilldwg(2, 2) = Cells(i + 2, 22).Value
cilldwg(3, 1) = Cells(i + 2, 23).Value
cilldwg(3, 2) = Cells(i + 2, 24).Value
cilldwg(4, 1) = Cells(i + 2, 25).Value
cilldwg(4, 2) = Cells(i + 2, 26).Value
cilldwg(5, 1) = Cells(i + 2, 19).Value
cilldwg(5, 2) = Cells(i + 2, 20).Value
Worksheets("Drawing").Select
Worksheets("Drawing").Shapes.AddPolyline cilldwg
Loop Until i = sides
End Sub

This brings up "Run-time error '1004'; application-defined or

object-defined
error."

Excel help is not much use... can anyone tell me what I need to change?