2013
8
19

ExcelVBAのReplaceを使ってグラフの範囲を変更する

以前似たようなものを書いたことがあるんですが、もっと簡単で汎用的なものはできないかなーと思って、作ってみました。


前置き

前書いた記事。

自分で書いておいて何なんですが、これあんまり実用的じゃないですよねw 今あるグラフを選択して、そいつの範囲を簡単に変えたいじゃないか!と思いまして。

グラフ例

130819-1

こんなグラフがあったとします。折れ線じゃなくても問題ありません。(たぶん)

130819-2

グラフの名前(凡例)、グラフの値、項目軸ラベルはこのようになっています。ここをお手軽に変更したいんですよね。

先に解説

キモになるのはこちら。前書いたのもこっち使ったほうが簡単そう。

iは変数なので1とかにしてあげて、これをMsgBoxで表示してあげるとこんな式が出てきます。

130819-3

この内容をReplaceを使って変えてあげれば良さそうです。

使い方はこんな感じ。

コード

標準モジュールにこれをコピペして使ってみてください。11行目でReplaceしていますが、取得した「変更前」「変更後」文字列の前に「$」を追加しています。例えばA列を変更する際、シート名にAという単語が含まれていたらそちらも置換されてしまうのを防ぐためです。

使い方

130819-4

変更したいグラフをアクティブにしてからプログラムを起動させると、変更前の文字列を要求されます。

「=Sheet1!$C$3:$G$3」のGを変えてみます。なんで項目ラベルを大文字アルファベットにしてしまったんだろう…わかりにくいすみません(;´Д`)

130819-5

変更後の文字列も。数値(行)も出来ますが、半角じゃないと駄目かも。

130819-6

選択したグラフの全ての要素の「G」が「E」に書き換わりました。たくさんあるときなどに使えるかもですね。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 618
  • RSSを登録

公開日:2013/08/19


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top