Excel 2007 - problems with macro to change series formula

G

Gill L

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
 
G

Gill L

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.
 
J

Jon Peltier

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top