どうも!そこらへんの社会人です!
今回は、グラウの参照先を置換するマクロを作成してみました!
社会人で仕事をやっていると、グラフを作る機会がたくさんあると思います!
あるとき、グラフを作成して他のエクセルシートでグラフの参照先を変えて使いたいと思い
コピーしてもってきても参照先はかわっておらず、1つ1つ手作業で参照先を変更するはめになり、
今回のマクロを作成してみました!!
For Each ~Next関数
For Each~Next???ってなんぞや?となんたのでいろいろ調べてみました!
下記のYoutubeを参考にさせて頂きました!(とても分かりやすいです!!!)
https://youtu.be/5rMQLQvowU8
Dim 集合体 As 変数の型
Dim 集合体の1つ As 変数の型
Dim 集合体の1つ As 変数の型
For Each 1つ In 集合体
実行したい条件
Next
これを例えるなら集合体を「みかん箱」、集合体の1つを「みかん」と例えるなら私個人としては
分かりやすいかなと思います(笑)
「みかん箱」という「集合体」の中の「みかん(集合体の1つ)」の「へたをとる(実行したい条件)」という例えがしっくりきます
分かりやすいかなと思います(笑)
「みかん箱」という「集合体」の中の「みかん(集合体の1つ)」の「へたをとる(実行したい条件)」という例えがしっくりきます
Replace関数
Replace関数とは、ある文字をある文字に置き換える関数になります。
Replace(文字列,検索文字,置換文字)
文字列の検索文字を置換文字に置き換える
グラフの参照先を置換(結論だけ知りたい方はこちら)
いままでの「For Each ~Next関数」、「Rplace関数」を使ってグラフの参照先を変えるマクロは下記のマクロになります。
Option Explicit
Sub 文字を置換()
Dim ser As Series
定数serを定義(変数の型:系列)
For Each ser In ActiveChart.SeriesCollection
「活動中の系列コレクション」 の中の「 系列1つ1つ」に以下を繰り返す
ser.Formula = Replace(ser.Formula, “旅行案①”, “旅行案②”)
系列式の”旅行案①”を “旅行案②”に置き換えたものを系列式に代入する
Next
Next
End Sub
実際にマクロを実行したのが下記になります!!
いかが、だったでしょうか?
今回のこのマクロを使って業務の改善を目指してみて下さい!!
コメント