Excelで作ったグラフを埋め込む際、目盛ラベルと軸の間の距離を調整する方法が見つからない。
Excelで作成した散布図は目盛ラベルと軸の距離が調整できないから不便だということを聞いていおり、確かにそうかもしれないと思った。
しかし調べてみると、Excelのグラフについて、VBAを使えば目盛ラベルと軸の間の距離を調整できることが分かった[1]。
そこで、[2]のコードを参考に、目盛ラベルと軸の間の距離を調整するVBAコードを作った。
注意事項
シートのバックアップを取ったうえで、VBAコードを実行させてほしい。
誤った操作をした場合、UNDOは効かない。
VBAは便利なツールだが、数時間の成果が水泡に帰す危険と常に隣り合わせだ。
参考にする際は、自己責任で。
実行環境
Excel (Office 365)Power Point (Office 365)
コード
Module1.bas
コードの使い方について説明する。
- Sub axisOffset()
- Dim oShape As Shape
- Dim oSlide As Slide
- ' Target slide is set
- Set oSlide = ActivePresentation.Slides(19)
- ' Search shapes which has graph objects
- For Each oShape In oSlide.Shapes
- If oShape.HasChart Then
- With oShape.Chart
- ' Modify offset of labels for axis
- ' X axis
- .Axes(xlCategory).TickLabels.Offset = 0
- ' Y axis
- .Axes(xlValue).TickLabels.Offset = 0
- End With
- End If
- Next oShape
- End Sub
- パワーポイントで、ターゲットのグラフがあるページを開く
- Alt+F11でVBAエディタを開く
- 標準モジュールModule1を追加する
- プロジェクトウィンドウで右クリックし、ポップアップメニューから「挿入」「標準モジュール」をクリックする
- 上記のコードをエディタに張り付ける
- スライド番号の指定
このサンプルではスライド19のグラフを調節している。- Set oSlide = ActivePresentation.Slides(19)
ターゲットのグラフのあるページ番号に書き換える。
たとえば、5枚目のスライドにあるグラフを調整する場合は以下のように書き換える。- Set oSlide = ActivePresentation.Slides(5)
- 目盛ラベルと軸の間の距離の指定
このサンプルでは距離を最小にしている。- ' Modify offset of labels for axis
- ' X axis
- .Axes(xlCategory).TickLabels.Offset = 0
- ' Y axis
- .Axes(xlValue).TickLabels.Offset = 0
距離は0から1000までの数で指定する。 - F5キーを押して実行する
0 件のコメント:
コメントを投稿
コメント表示は承認制に設定しています