有时,我们可能会批量修改SERIES公式,但是对于SERIES公式来说,没有内置的“查找和替换”功能 。Jon Peltier大师编写了一段程序,可以实现这样的功能,代码如下:
Sub ChangeSeriesFormula_ActiveChart()
‘如果没有活动图表
If ActiveChart Is Nothing Then
MsgBox”请选择图表后重试.”,vbExclamation, _
“没有选择图表”
【excel替换图表SERIES公式中的字符串】Exit Sub
End If
Dim OldString As String
OldString = InputBox(“输入要被替换的字符串:”,”输入旧字符串”)
If Len(OldString) > 1 Then
Dim NewString As String
NewString= InputBox(“输入新字符串来替换掉原字符串 “& “””” _
&OldString & “””:”, “输入新字符串”)
‘ 遍历所有系列
Dim srs As Series
For Each srs In ActiveChart.SeriesCollection
Dim NewFormula As String
‘替换SERIES公式中的字符串
NewFormula = WorksheetFunction.Substitute(srs.Formula, _
OldString, NewString)
‘更新SERIES公式
srs.Formula = NewFormula
Next
Else
MsgBox”没有进行替换操作.”,vbInformation, “没有输入”
End If
End Sub
如下图1所示,需要将图表系列中的C替换成D,运行ChangeSeriesFormula_ActiveChart过程,按照提示输入原字符串和新字符串,即可完成替换,并且图表相应更新 。
文章插图
图1
代码的图片版如下:
文章插图
推荐阅读
- excel表格xlb文件错误
- excel比较并合并工作表
- 为何双击Excel文件时报错而不是直接打开?
- excel图表使用VBA创建进度条
- excel图表:一个快速修改公式的技巧
- excel怎么快速输入数据
- excel函数公式之SERIES公式
- Excel数据批量写入Word
- excel工作簿所有工作表中的多值替换
- 阻止Excel将某些文本自动转换为超链接