コード例を考えてみました。
Worksheets(1).ChartObjects(1)の箇所は都合の良いように変えてください。
Sub Sample()
With Worksheets(1).ChartObjects(1).Chart
For i = 1 To .SeriesCollection.Count
Dim str As String
str = .SeriesCollection(i).Name
' ***strをRegExpのReplaceメソッドで置換***
.SeriesCollection(i).Name = str
Next i
End With
End Sub
凡例を順にたどっていき、特定の条件を満たした文字列を''
に置き換えたりすれば良いかと思います。
またここでは示していませんが、RegExpを使うには別途設定などが必要です。
追記
RegExpを具体的に使うコードを書いてみました。
動作確認はしていないので、そもそも動くかわかりません。
事前に参照設定で「Microsoft VBScript Regular Expressions 5.5」にチェック
VBA
1Sub Sample()
2 'RegExpオブジェクトの作成
3 Dim reg1 As Object, reg2 As Object
4 Set reg1 = CreateObject("VBScript.RegExp")
5 Set reg2 = CreateObject("VBScript.RegExp")
6
7 '正規表現の指定
8 With reg1
9 .Pattern = "^.*_" '正規表現を定義
10 .IgnoreCase = False '大文字と小文字を区別するかどうか
11 .Global = False '文字列全体を検索するかどうか(Falseだと最初の合致するパターンしか適用されない)
12 End With
13
14 With reg2
15 .Pattern = "BBB"
16 .IgnoreCase = False
17 .Global = True
18 End With
19
20 With Worksheets(1).ChartObjects(1).Chart
21 For i = 1 To .SeriesCollection.Count
22 Dim str As String
23 str = .SeriesCollection(i).Name
24 str = reg1.Replace(str, "") 'strをRegExpのReplaceメソッドで置換
25 str = reg2.Replace(str, "hoge") 'strをRegExpのReplaceメソッドで置換
26 .SeriesCollection(i).Name = str
27 Next i
28 End With
29End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/21 04:07
2020/04/21 05:12
2020/04/21 13:29