Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am writing a macro the generates charts onto a new worksheet. I want to be
able to decide in the code where I want to place the charts. How do you do this? When recording amcro I cannot make the placement exact so how do you write the proper code? Please help me! |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
The chart you add is contained within a ChartObject, which is the Parent object of the Chart, and you need to set the position of that. So Set myChart = Charts.Add With myChart.Parent .Top = Range("C2").Top .Left = Range("C2").Left end with will put the top left corner of the chart in the top left corner of C2. regards Paul Fabrizio wrote: I am writing a macro the generates charts onto a new worksheet. I want to be able to decide in the code where I want to place the charts. How do you do this? When recording amcro I cannot make the placement exact so how do you write the proper code? Please help me! |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Oops
This will add as a chart sheet, not embed in a sheet. If you have an existing chart on a sheet called "DataChart" you could do Set myChart = Chartobjects("DataChart") then set its position as before. If the chart does not already exist you will have to do, Set myChart = Charts.Add Set myChart = myChart.Location(Whe=xlLocationasObject, Name:="myWorkSheet") where myWorkSheet is the name of the sheet you want the chart on. regards Paul wrote: Hi The chart you add is contained within a ChartObject, which is the Parent object of the Chart, and you need to set the position of that. So Set myChart = Charts.Add With myChart.Parent .Top = Range("C2").Top .Left = Range("C2").Left end with will put the top left corner of the chart in the top left corner of C2. regards Paul Fabrizio wrote: I am writing a macro the generates charts onto a new worksheet. I want to be able to decide in the code where I want to place the charts. How do you do this? When recording amcro I cannot make the placement exact so how do you write the proper code? Please help me! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you very much for your help. I am however a beginner at VB so I cannot
use your code directly. When using the code (that you gave me): Set myChart = Charts.Add With myChart.Parent .Top = Range("C2").Top .Left = Range("C2").Left End With I get error that says that the method range failed in the object '_Global'. I do not know what that means or how to solve it. The code for the sub that creats the chart begins with: Private Sub chartMaker(rng1, rng2, rng3 As Range, ByVal s, x As String, index As Integer) When using your other code that you gave me I get error since method or object not declared. Please help me! I just want to solve the simple problems that I described. But I cannot use macros since then I wont be able to use the code the way I want. " skrev: Hi The chart you add is contained within a ChartObject, which is the Parent object of the Chart, and you need to set the position of that. So Set myChart = Charts.Add With myChart.Parent .Top = Range("C2").Top .Left = Range("C2").Left end with will put the top left corner of the chart in the top left corner of C2. regards Paul Fabrizio wrote: I am writing a macro the generates charts onto a new worksheet. I want to be able to decide in the code where I want to place the charts. How do you do this? When recording amcro I cannot make the placement exact so how do you write the proper code? Please help me! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Placing shapes exactly on charts. | Charts and Charting in Excel | |||
Placing an UDF | Excel Worksheet Functions | |||
Range reference problem placing charts | Excel Programming | |||
placing.. 1st, 2nd, 3rd... | Excel Discussion (Misc queries) | |||
placing | Excel Worksheet Functions |