View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.misc
txilya txilya is offline
external usenet poster
 
Posts: 11
Default Continuity of the series

Hi Joe,

A. If your series always stays in the cells B1:C20, use the following:

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range("B2:C20")

B. If you always want to include 20 entries in the series, but don't know
in advance where the series will be populated, use the following:

NewSet = Range(ActiveCell.Address, ActiveCell.Offset(19, 1).Address).Address
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range(NewSet)

C. If your series goes from a current cell down to the cell one above and
one to the right of "End", use the following:

Dim c As Range
Set c = Cells.Find(What:="End", LookIn:=xlValues, lookat:=xlWhole)
NewSet = Range(ActiveCell.Address, c.Offset(-1, 1).Address).Address
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range(NewSet)

Hope it helps,
Ilya





"Joe" wrote:

Hi,

I have a series in the graph, a column B starting from row 1 to 20. These
values are populated from other source and not always there will be value in
each cell, however the continuity of the graph should be kept. Because of the
no values in the cell the series graph is incomplete. CAn we programatically
complete the series? Suppose this the the series:
Col B
90.00
95.00

90.00
95.00

90.00

10.00
25.00
70.00


80.00

90.00

90.00
98.00
End
The series in the graph is getting truncated after first break in the values.
Pls help me.
*******************
Sample code:
Sub GenerateGraph()

Dim NewSet As String
Dim NewSet1 As String
Dim CurLocation As String

CurLocation = ActiveCell.Address


NewSet = "B2:" & Range("B2").End(xlDown).Address
NewSet1 = "C2:" & Range("C2").End(xlDown).Address


ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData _
Source:=Union(Sheets(ActiveSheet.Name).Range(NewSe t), _
Sheets(ActiveSheet.Name).Range(NewSet1))

Range(CurLocation).Select

End Sub