![]() |
Custom chart types; Recorded macro acts strange
I turned on the macro recorder and created a "Line on 2 Axes" chart.
The recorded macro is given below. I ran the recorded macro but I got a different output (I think the output was a column chart instead of "Line on 2 Axes" chart) Why is it so? Usually macro-recorder's code works perfect. Should I need to turn-on any references or add-ins? Someone who has a solution for this, please clarify. Thanks Sub Macro1() Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Lines on 2 Axes" ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A:A,C:C,D:D"), _ PlotBy:=xlColumns ActiveChart.Location Whe=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .Axes(xlCategory, xlSecondary).HasTitle = False .Axes(xlValue, xlSecondary).HasTitle = False End With End Sub |
Custom chart types; Recorded macro acts strange
Usually macro-recorder's code works perfect.
Not on planet Earth. Usually it gives you the right idea, but it needs tweaking. In any case, your recorded macro defined the chart type before there was any data, so when you added data, the default chart type was applied. Switch the ApplyCustomType line to after the SetSourceData line. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. - http://PeltierTech.com _______ wrote in message ps.com... I turned on the macro recorder and created a "Line on 2 Axes" chart. The recorded macro is given below. I ran the recorded macro but I got a different output (I think the output was a column chart instead of "Line on 2 Axes" chart) Why is it so? Usually macro-recorder's code works perfect. Should I need to turn-on any references or add-ins? Someone who has a solution for this, please clarify. Thanks Sub Macro1() Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Lines on 2 Axes" ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A:A,C:C,D:D"), _ PlotBy:=xlColumns ActiveChart.Location Whe=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .Axes(xlCategory, xlSecondary).HasTitle = False .Axes(xlValue, xlSecondary).HasTitle = False End With End Sub |
Custom chart types; Recorded macro acts strange
On Oct 22, 9:23 pm, "Jon Peltier"
wrote: Usually macro-recorder's code works perfect. Not on planet Earth. Usually it gives you the right idea, but it needs tweaking. In any case, your recorded macro defined the chart type before there was any data, so when you added data, the default chart type was applied. Switch the ApplyCustomType line to after the SetSourceData line. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. -http://PeltierTech.com _______ wrote in message ps.com... I turned on the macro recorder and created a "Line on 2 Axes" chart. The recorded macro is given below. I ran the recorded macro but I got a different output (I think the output was a column chart instead of "Line on 2 Axes" chart) Why is it so? Usually macro-recorder's code works perfect. Should I need to turn-on any references or add-ins? Someone who has a solution for this, please clarify. Thanks Sub Macro1() Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Lines on 2 Axes" ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A:A,C:C,D:D"), _ PlotBy:=xlColumns ActiveChart.Location Whe=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .Axes(xlCategory, xlSecondary).HasTitle = False .Axes(xlValue, xlSecondary).HasTitle = False End With End Sub Jon, this is the first time I am facing the weird behavior of macros. Btw, your trick works. Thanks. |
Custom chart types; Recorded macro acts strange
On Oct 22, 9:23 pm, "Jon Peltier"
wrote: Usually macro-recorder's code works perfect. Not on planet Earth. Usually it gives you the right idea, but it needs tweaking. In any case, your recorded macro defined the chart type before there was any data, so when you added data, the default chart type was applied. Switch the ApplyCustomType line to after the SetSourceData line. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. -http://PeltierTech.com _______ wrote in message ps.com... I turned on the macro recorder and created a "Line on 2 Axes" chart. The recorded macro is given below. I ran the recorded macro but I got a different output (I think the output was a column chart instead of "Line on 2 Axes" chart) Why is it so? Usually macro-recorder's code works perfect. Should I need to turn-on any references or add-ins? Someone who has a solution for this, please clarify. Thanks Sub Macro1() Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Lines on 2 Axes" ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A:A,C:C,D:D"), _ PlotBy:=xlColumns ActiveChart.Location Whe=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .Axes(xlCategory, xlSecondary).HasTitle = False .Axes(xlValue, xlSecondary).HasTitle = False End With End Sub Jon, Thanks. It works. |
Custom chart types; Recorded macro acts strange
On Oct 22, 9:23 pm, "Jon Peltier"
wrote: Usually macro-recorder's code works perfect. Not on planet Earth. Usually it gives you the right idea, but it needs tweaking. In any case, your recorded macro defined the chart type before there was any data, so when you added data, the default chart type was applied. Switch the ApplyCustomType line to after the SetSourceData line. - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. -http://PeltierTech.com _______ wrote in message ps.com... I turned on the macro recorder and created a "Line on 2 Axes" chart. The recorded macro is given below. I ran the recorded macro but I got a different output (I think the output was a column chart instead of "Line on 2 Axes" chart) Why is it so? Usually macro-recorder's code works perfect. Should I need to turn-on any references or add-ins? Someone who has a solution for this, please clarify. Thanks Sub Macro1() Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Lines on 2 Axes" ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A:A,C:C,D:D"), _ PlotBy:=xlColumns ActiveChart.Location Whe=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .Axes(xlCategory, xlSecondary).HasTitle = False .Axes(xlValue, xlSecondary).HasTitle = False End With End Sub Jon, Thanks. It works. |
All times are GMT +1. The time now is 12:41 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com