Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Edit Chart Macro Help - Skip ActiveChart Selection if no data
I have a macro that I have recorded. I know there is some duplicate
information here, but I am not worried about that. I have included a part of the code below. Basically if the "SeriesCollection" is not available on the chart for which I run the macro, the macro fails and gives me a runtime error. So in the example below, if SeriesCollection(3) doesn't have data, I would like it to jump to SeriesCollection(4). Is there a way to do that? Can anyone please help? I would greatly appreciate it. Conor ActiveChart.SeriesCollection(3).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlContinuous End With With Selection .MarkerBackgroundColorIndex = xlNone .MarkerForegroundColorIndex = xlNone .MarkerStyle = xlNone .Smooth = False .MarkerSize = 3 .Shadow = False End With ActiveChart.SeriesCollection(4).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlDash End With |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Edit Chart Macro Help - Skip ActiveChart Selection if no data
Conor,
No seeing the whole macro limits this response but a general approach you might want to take is below. It makes huge assumptions by hardiwring all sorts of things so it's probably not something yuo want in production code, but it does show a use of "On Error" which may help here. The key feature here is isolating the formatting of the particular series into separate macros, and use the "On error goto byebye" line within each pimpSeries() macro to bail out gracefully if there's a problem, e.g. no applicable data series. Again, it isn't elegant or producton-level code, but it may give you hints on a useful direction. HTH / Tyla / Option Explicit Sub pimpMyChart() '..whatever.. Call pimpSeries3 Call pimpSeries4 ' etc. End Sub Sub pimpSeries3() On Error GoTo byebye: ActiveChart.SeriesCollection(3).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlContinuous End With With Selection .MarkerBackgroundColorIndex = xlNone .MarkerForegroundColorIndex = xlNone .MarkerStyle = xlNone .Smooth = False .MarkerSize = 3 .Shadow = False End With byebye: End Sub Sub pimpSeries4() On Error GoTo byebye: ActiveChart.SeriesCollection(4).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlDash End With byebye: End Sub On Apr 6, 1:43 pm, wrote: I have a macro that I have recorded. I know there is some duplicate information here, but I am not worried about that. I have included a part of the code below. Basically if the "SeriesCollection" is not available on the chart for which I run the macro, the macro fails and gives me a runtime error. So in the example below, if SeriesCollection(3) doesn't have data, I would like it to jump to SeriesCollection(4). Is there a way to do that? Can anyone please help? I would greatly appreciate it. Conor ActiveChart.SeriesCollection(3).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlContinuous End With With Selection .MarkerBackgroundColorIndex = xlNone .MarkerForegroundColorIndex = xlNone .MarkerStyle = xlNone .Smooth = False .MarkerSize = 3 .Shadow = False End With ActiveChart.SeriesCollection(4).Select With Selection.Border .ColorIndex = 10 .Weight = xlMedium .LineStyle = xlDash End With |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Data disappears when I edit the chart. | Charts and Charting in Excel | |||
Edit Pie Chart Data Label | Charts and Charting in Excel | |||
Edit Chart to Change Source Data | Charts and Charting in Excel | |||
Excel VBA macro - need to edit code to skip a year | Excel Programming | |||
Argument List Of ActiveChart.Location And ActiveChart.ChartType | Excel Programming |