このページでは、以下の画像のように散布図の参照範囲のX,Yを入れ替える方法をご紹介していきます。
手動でやろうとすると案外手間がかかってしまいますが、ここで紹介するVBAを使えば一瞬で実行可能です。
それではさっそくやっていきましょう。
※VBAを使用したことがない、という方は以下の記事で解説していますので、まずはこちらからご覧ください。
エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説
グラフの参照範囲を入れ替えるVBAコード
それではさっそくですが、コードの紹介に入ります。
以下がグラフの参照範囲(X,Y軸)を入れ替えるサンプルコードです。
Sub data_replacement()
'もともとのグラフの参照範囲を取得
drange = ActiveChart.SeriesCollection.Item(1).Formula
'もともとのグラフの参照範囲をカンマで分割
drange2 = Split(drange, ",")
'X,Yを入れ替えた新たな参照範囲を作成
new_range = drange2(0) & "," & drange2(2) & "," & drange2(1) & "," & drange2(3)
'グラフの参照範囲を更新する
ActiveChart.SeriesCollection.Item(1).Formula = new_range
End Sub
コメントを付けていますので、何をやっているかはイメージできるはずです。
データ入れ替えサンプルコードの使い方
先ほどのサンプルコードの使い方を解説しておきます。
先ほどのコードの2行目に、ActivecChart・・・という文言があったと思います。
これはこのVBAコードを実行する直前にアクティブ、つまり選択された状態のグラフに対して処理を実行していく、という指示です。
つまり、マクロ実行前にグラフを選択できていなければエラーが起きます。
というわけで、以下が実行手順です。
①データのX,Yを入れ替えたいグラフを選択する。
⇒グラフの周囲に8つの白丸が付いている状態にする
②開発タブ⇒マクロ⇒作ったマクロを選択⇒実行
これでデータが入れ替わっているはずです。
同時に大量に行う必要があれば、マクロの実行ボタンを作成しておくと便利でしょう。
実行ボタンの作り方は以下で解説しています。
【エクセル】マクロ実行ボタンの作成手順!画像つきで詳細解説!
おわりに
というわけで今回は、エクセルVBAをつかって散布図グラフのX,Y軸を入れ替える方法をご紹介しました。
大量にグラフを作ったものの変更が必要になった際などに、ぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント