ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro that changes line styles based on the series' name (https://www.excelbanter.com/excel-programming/369895-macro-changes-line-styles-based-series-name.html)

trumptmast[_8_]

Macro that changes line styles based on the series' name
 

Hi,

I have a question regarding changing the line styles in a graph with a
macro.

There are several series in the graph, however, they are named either
"SOT_*" or "EOT_*" . * being the rest of the series name.

Currently, all of the lines are solid. But I wish to change all the
series with the prefix EOT to dashed and leave the others as they are.

How do I create a macro loop code that looks for the prefix of the
series' name and change the line style based on the prefix?

Thanks a bunch!


--
trumptmast
------------------------------------------------------------------------
trumptmast's Profile: http://www.excelforum.com/member.php...o&userid=34305
View this thread: http://www.excelforum.com/showthread...hreadid=570058


Tony James[_2_]

Macro that changes line styles based on the series' name
 
trumptmast wrote:

Hi,

I have a question regarding changing the line styles in a graph with a
macro.

There are several series in the graph, however, they are named either
"SOT_*" or "EOT_*" . * being the rest of the series name.

Currently, all of the lines are solid. But I wish to change all the
series with the prefix EOT to dashed and leave the others as they are.

How do I create a macro loop code that looks for the prefix of the
series' name and change the line style based on the prefix?

Thanks a bunch!


--
trumptmast


When doing something like this I use the macro recorder to see what
objects Excel uses. So with a chart on sheet1 I started the recorder
and double-clicked one of the series lines in question and continued
with the Format Data Series dialog.

It turns out that it uses the SeriesCollection Collection Object, so
with that information it was quite easy to code this macro:

Sub FormatDataSeries()
Dim myChart As SeriesCollection
Dim mySeries As Series

Set myChart = Worksheets(1).ChartObjects(1).Chart.SeriesCollecti on

For Each mySeries In myChart
Debug.Print mySeries.Name
If Left(mySeries.Name, 4) = "EOT_" Then
mySeries.Border.LineStyle = xlDash
End If
Next
End Sub

hth, Tony


trumptmast[_9_]

Macro that changes line styles based on the series' name
 

Works quite well. Thanks a lot

--
trumptmas
-----------------------------------------------------------------------
trumptmast's Profile: http://www.excelforum.com/member.php...fo&userid=3430
View this thread: http://www.excelforum.com/showthread.php?threadid=57005



All times are GMT +1. The time now is 12:58 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com