有時(shí),我們可能會(huì)批量修改SERIES公式,但是對(duì)于SERIES公式來(lái)說(shuō),沒(méi)有內(nèi)置的“查找和替換”功能。Jon Peltier大師編寫了一段程序,可以實(shí)現(xiàn)這樣的功能,代碼如下:
Sub ChangeSeriesFormula_ActiveChart()
‘如果沒(méi)有活動(dòng)圖表
If ActiveChart Is Nothing Then
MsgBox”請(qǐng)選擇圖表后重試.”,vbExclamation, _
“沒(méi)有選擇圖表”
Exit Sub
End If
Dim OldString As String
OldString = InputBox(“輸入要被替換的字符串:”,”輸入舊字符串”)
If Len(OldString) > 1 Then
Dim NewString As String
NewString= InputBox(“輸入新字符串來(lái)替換掉原字符串 “& “””” _
&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”沒(méi)有進(jìn)行替換操作.”,vbInformation, “沒(méi)有輸入”
End If
End Sub
如下圖1所示,需要將圖表系列中的C替換成D,運(yùn)行ChangeSeriesFormula_ActiveChart過(guò)程,按照提示輸入原字符串和新字符串,即可完成替換,并且圖表相應(yīng)更新。
圖1
代碼的圖片版如下: