質問: エクセルの目盛りラベルの移動の仕方。 今、エクセルで各都道府県の対前年度収支を示す横に伸びた棒グラフの図を作っております。グラフのちょうど真ん中に0の値を示すy軸が来ており、それから左に伸びた棒グラフはマイナスの値を、右に伸びた棒グラフはプラスの値を示しています。このy軸に付く目盛りラベル(各都道府県名)の位置をそれぞれの棒グラフの伸びの方向に応じて変えたいのですが、何かよい方法はないでしょうか。 (例:岩手県の対前年度収支はマイナス。よってグラフはy軸の左側に伸びる。そして、y軸のすぐ右に岩手県の表示がくる。) 軸の書式設定→パターン→目盛りラベル→「軸の下/左」で、右に伸びた棒グラフに対しての目盛りラベルの位置はうまくいくのですが、左に伸びた棒グラフに対しては、棒グラフと目盛りグラフが重なってしまってうまくいかないのです。この左に伸びた棒グラフに対する目盛りラベル(例でいう岩手県の表示)をy軸の右にもっていきたいのです。 ご回答お待ちしております。
回答: vbaでどうなっているか調べてみました。 sub test01() activesheet.chartobjects("グラフ 1").activate activechart.axes(xlcategory).select with selection .majortickmark = xlinside .minortickmark = xlnone .ticklabelposition = xlnexttoaxis '(1) ' .ticklabelposition = xllow '(2) ' .ticklabelposition = xlnone '(3) ' .ticklabelposition = xlhigh '(4) end with rnd sub の.ticklabelposition がこれを左右するプロパティで 4種類しかない(vbaは操作で出来ることの反映なので、 当然と言えば当然ですが、たまにvbaなら出来る事項もある)。 軸の書式設定のパターンの目盛ラベルの4種類です。 xlnone は目盛ラベルなし xllow は横棒グラフでは、左に xlhigh は横棒グラフでは、右に表示されます。 xlnexttoaxisが一番お望みのものに近いですが、負の側に一律に貼りつけられます。軸を中心に左右にmixしたようなものはエクセルではありません。 値の正負で左右したいのですが、軸という一つしか捉えられません。何番目のデータの軸ラベルと言う風にはvbaでも捉えることができません。 したがってエクセルの軸ラベルの世界の方法では出来ません。xllow かxlhigh で諦めるか。 だから後は、データごとに左右できる余地のあるデータラベルの設定で行くと、グラフ方向(正の場合右->左、負の場合右->左)の先頭につけてくれるので、ご希望に やや近いかなと思います。