アクセスログを眺めていて、
「エクセル vba グラフ 行列を逆にする」
「excel vba グラフ 行列の入れ替え」
「excel 2010 vba グラフ 行列 入替」
といった検索キーワードでのアクセスが、結構あることに驚かされました。
グラフを選択すると自動的に表示される[グラフツール]の、[デザイン]タブ-[行/列の切り替え]ボタンをクリックすると、
グラフの行と列(X軸とY軸)を入れ替えることができます。
この操作と同じことを行うExcel VBA(Visual Basic for Applications)のコードを探していらしたのでしょう。
どのアプリケーションの話か厳密にはわかりませんけれど、
「vba chart 行列の切り替え」
「マクロ グラフ 行列 入れ替え」
という検索キーワードも、同じことを探していらした可能性が高いだろうと推測しています。
グラフの行列入替を行うサンプルマクロ
VBAでグラフの[行/列の切り替え]を行う具体的な状況がよくわからないので、参考になりそうな簡単なマクロをご紹介しておきます。
With ActiveChart
Select Case .PlotBy
Case xlRows
.PlotBy = xlColumns
Case xlColumns
.PlotBy = xlRows
End Select
End With
End Sub
グラフを選択しておいて上記のマクロを実行すれば、[行/列の切り替え]が行われます。
サンプルマクロの解説
ChartオブジェクトのPlotByプロパティを使うと、
VBAから[行/列の切り替え]ができます。
Chart.PlotByプロパティには、XlRowCol列挙に定義されている、
定数・xlColumnsまたはxlRowsを指定できます。
Chart.PlotByプロパティがTrue・Falseを指定できるのであれば、Not演算子を使うシンプルなコードにできたのですが、xlColumnsは「2」xlRowsは「1」という整数なので、Select Case文で
Case xlRows
.PlotBy = xlColumns
Case xlColumns
.PlotBy = xlRows
と、愚直に切り替えを行っています。
最終更新日時:2022-06-22 16:28
- Newer:VBAでアクティブセルの位置を取得する
- Older:セルを結合するGASスクリプト
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの行と列を入れ替える-Chart.PlotBy