From: Gill L Gill on
Please help! I've just been moved to Excel 2007 and now find that the
wonderful macro below no longer works (the single chart version is still OK).
I have files with 50 charts on a single worksheet (the data is on a separate
tab) and I need to choose which rows to include rather than having an auto
update. The files are accessed from multiple workstations so a macro saved
in the workbook was ideal.
Is there any way I can modify this code to get it working? Thanks in advance.


Sub ChangeSeriesFormulaAllCharts()
''' Do all charts in sheet
Dim oChart As ChartObject
Dim OldString As String, NewString As String
Dim mySrs As Series

OldString = InputBox("Enter the string to be replaced:", "Enter old
string")

If Len(OldString) > 1 Then
NewString = InputBox("Enter the string to replace " & """" _
& OldString & """:", "Enter new string")
For Each oChart In ActiveSheet.ChartObjects
For Each mySrs In oChart.Chart.SeriesCollection
mySrs.Formula = WorksheetFunction.Substitute(mySrs.Formula,
OldString, NewString)
Next
Next
Else
MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
End If
End Sub

From: Jon Peltier on
I've provided a link to an updated add-in to handle this change in a
recent article:

How to Edit Series Formulas
http://peltiertech.com/WordPress/how-to-edit-series-formulas/

If you need to put the code into a particular workbook, copy it from the
add-in and paste it into the workbook.

- Jon
-------
Jon Peltier
Peltier Technical Services, Inc.
http://peltiertech.com/


On 5/18/2010 12:33 PM, Gill L wrote:
> Please help! I've just been moved to Excel 2007 and now find that the
> wonderful macro below no longer works (the single chart version is still OK).
> I have files with 50 charts on a single worksheet (the data is on a separate
> tab) and I need to choose which rows to include rather than having an auto
> update. The files are accessed from multiple workstations so a macro saved
> in the workbook was ideal.
> Is there any way I can modify this code to get it working? Thanks in advance.
>
>
> Sub ChangeSeriesFormulaAllCharts()
> ''' Do all charts in sheet
> Dim oChart As ChartObject
> Dim OldString As String, NewString As String
> Dim mySrs As Series
>
> OldString = InputBox("Enter the string to be replaced:", "Enter old
> string")
>
> If Len(OldString)> 1 Then
> NewString = InputBox("Enter the string to replace "& """" _
> & OldString& """:", "Enter new string")
> For Each oChart In ActiveSheet.ChartObjects
> For Each mySrs In oChart.Chart.SeriesCollection
> mySrs.Formula = WorksheetFunction.Substitute(mySrs.Formula,
> OldString, NewString)
> Next
> Next
> Else
> MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
> End If
> End Sub
>
From: Gill L on
Thanks Jon, I installed the Add-In on a private computer and it's perfect. I
copied the code text and tried to paste it into my file as a new macro, but
that didn't work because of 'Invalid Inside Procedure'.

After some internet research I thought I needed to create it as a module but
there was a error message when it got to 'Dim gfrmChgSrsFmla As FChgSrsFmla'
about Compile Error: User Defined Type not available.

Sorry, I've only used very basic macros before so if you could point me to
more instructions that would be really helpful. Thanks again.


"Jon Peltier" wrote:

> I've provided a link to an updated add-in to handle this change in a
> recent article:
>
> How to Edit Series Formulas
> http://peltiertech.com/WordPress/how-to-edit-series-formulas/
>
> If you need to put the code into a particular workbook, copy it from the
> add-in and paste it into the workbook.
>
> - Jon
> -------
> Jon Peltier
> Peltier Technical Services, Inc.
> http://peltiertech.com/
>
>
> On 5/18/2010 12:33 PM, Gill L wrote:
> > Please help! I've just been moved to Excel 2007 and now find that the
> > wonderful macro below no longer works (the single chart version is still OK).
> > I have files with 50 charts on a single worksheet (the data is on a separate
> > tab) and I need to choose which rows to include rather than having an auto
> > update. The files are accessed from multiple workstations so a macro saved
> > in the workbook was ideal.
> > Is there any way I can modify this code to get it working? Thanks in advance.
> >
> >
> > Sub ChangeSeriesFormulaAllCharts()
> > ''' Do all charts in sheet
> > Dim oChart As ChartObject
> > Dim OldString As String, NewString As String
> > Dim mySrs As Series
> >
> > OldString = InputBox("Enter the string to be replaced:", "Enter old
> > string")
> >
> > If Len(OldString)> 1 Then
> > NewString = InputBox("Enter the string to replace "& """" _
> > & OldString& """:", "Enter new string")
> > For Each oChart In ActiveSheet.ChartObjects
> > For Each mySrs In oChart.Chart.SeriesCollection
> > mySrs.Formula = WorksheetFunction.Substitute(mySrs.Formula,
> > OldString, NewString)
> > Next
> > Next
> > Else
> > MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
> > End If
> > End Sub
> >
> .
>
From: Jon Peltier on
FChgSrsFmla is the user form used to get user input.

It would probably be easier to distribute the whole add-in to anyone who
needs the functionality.

- Jon
-------
Jon Peltier
Peltier Technical Services, Inc.
http://peltiertech.com/


On 5/20/2010 5:40 AM, Gill L wrote:
> Thanks Jon, I installed the Add-In on a private computer and it's perfect. I
> copied the code text and tried to paste it into my file as a new macro, but
> that didn't work because of 'Invalid Inside Procedure'.
>
> After some internet research I thought I needed to create it as a module but
> there was a error message when it got to 'Dim gfrmChgSrsFmla As FChgSrsFmla'
> about Compile Error: User Defined Type not available.
>
> Sorry, I've only used very basic macros before so if you could point me to
> more instructions that would be really helpful. Thanks again.
>
>
> "Jon Peltier" wrote:
>
>> I've provided a link to an updated add-in to handle this change in a
>> recent article:
>>
>> How to Edit Series Formulas
>> http://peltiertech.com/WordPress/how-to-edit-series-formulas/
>>
>> If you need to put the code into a particular workbook, copy it from the
>> add-in and paste it into the workbook.
>>
>> - Jon
>> -------
>> Jon Peltier
>> Peltier Technical Services, Inc.
>> http://peltiertech.com/
>>
>>
>> On 5/18/2010 12:33 PM, Gill L wrote:
>>> Please help! I've just been moved to Excel 2007 and now find that the
>>> wonderful macro below no longer works (the single chart version is still OK).
>>> I have files with 50 charts on a single worksheet (the data is on a separate
>>> tab) and I need to choose which rows to include rather than having an auto
>>> update. The files are accessed from multiple workstations so a macro saved
>>> in the workbook was ideal.
>>> Is there any way I can modify this code to get it working? Thanks in advance.
>>>
>>>
>>> Sub ChangeSeriesFormulaAllCharts()
>>> ''' Do all charts in sheet
>>> Dim oChart As ChartObject
>>> Dim OldString As String, NewString As String
>>> Dim mySrs As Series
>>>
>>> OldString = InputBox("Enter the string to be replaced:", "Enter old
>>> string")
>>>
>>> If Len(OldString)> 1 Then
>>> NewString = InputBox("Enter the string to replace "& """" _
>>> & OldString& """:", "Enter new string")
>>> For Each oChart In ActiveSheet.ChartObjects
>>> For Each mySrs In oChart.Chart.SeriesCollection
>>> mySrs.Formula = WorksheetFunction.Substitute(mySrs.Formula,
>>> OldString, NewString)
>>> Next
>>> Next
>>> Else
>>> MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
>>> End If
>>> End Sub
>>>
>> .
>>