View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default getting the active chart/chartobject's name

after this line
ngName = normalgraph.Name

add
sChtObjName = normalgraph.Parent.Name

If all you want to do is move it with in the same routine as you created it,
simply

With normalgraph.Parent
..Left = 10
..Top = 20
' .width & .height if necessary
End With

However, no need to first add a chart sheet, add the chartobject to the
requisite sheet, sized to suit, eg

Sub test2()
Dim chtObj As ChartObject
Dim cht As Chart
Dim cell As Range

Set cell = ActiveSheet.Range("B3")

With cell
Set chtObj = ActiveSheet.ChartObjects.Add(.Left, .Top, 300, 200)
End With

Set cht = chtObj.Chart

With cht
' build the chart

End With

End Sub

Regards,
Peter T

"Stanley" wrote in message
...
Given the code below, does anyone have any suggestions on how to
obtain the active chart/chartobject's name so that I can address
Shape(name) properly when I try ot move the shape?

Code:
 Sub LT(wbname As String, wsname As String)   ' Graphing Lifetime
 Results
     Dim normalgraph As Chart                ' normal graph variable
     Dim regressgraph As Chart               ' regression graph
 variable
     Dim twoGraphs As ChartObjects              'Chartobjects for
 embedded charts

     Dim ngName As String                'normal graph name for moving
 the chart
     Dim rgName As String                'regression graph name for
 moving the chart

     Dim i As Long                           ' loop counter
     Dim colEnd As Long                         ' end of a column

     Workbooks(wbname).Sheets(wsname).Activate       'activate
 worksheet of interest

     Let colEnd = Range("c2").End(xlDown).Row

     ' Select data range
     Range(Cells(2, 2), Cells(colEnd, 6)).Select

     ' insert new graph for showing Fuel cell voltage, flow,
 temperature,
     ' and fuel cell current
     Set normalgraph = Charts.Add
     Set normalgraph = normalgraph.Location(whe=xlLocationAsObject,
 Name:=wsname)
     ngName = normalgraph.Name

     'more code

Thanks!