Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
Re:「折れ線グラフの横軸の目盛りの反転」の kitazawakeさんへ
投稿日時: 20/08/27 21:43:43
投稿者: simple

「折れ線グラフの横軸の目盛りの反転」
https://www.moug.net/faq/viewtopic.php?t=79788
 
横軸に関して、「軸の回転」をするだけでしょう?
手作業で実行したことはありますよね。
マクロ記録をとれば、

    ActiveChart.Axes(xlCategory).ReversePlotOrder = True
とすればよいことがわかります。
 
アクティブシートのすべてのグラフが対象として、
Sub test()
    Dim ch As ChartObject
    For Each ch In ActiveSheet.ChartObjects
        ch.Chart.Axes(xlCategory).ReversePlotOrder = True
    Next
End Sub
とすればよいと思います。ここは、ChartObjectとchartの関係とか、
構造が少し複雑になっているので、少し探さないと戸惑ったかもしれません。
 
こちらの提案どおり、マクロ記録をとってみて欲しかったですね。

投稿日時: 20/08/28 08:49:12
投稿者: simple

「軸の回転」→「軸の反転」のタイプミスです。
 
以前に、
"シート上のグラフが4枚を一気に削除する"
という質問があなたからあり、
ActiveSheet.ChartObjects.Delete
と回答をしました。それが念頭にあったのでしょうか?
 
グラフのどんなプロパティに関しても、
複数のグラフを一括して変更するメソッドがあるのではないか、
というのは期待しすぎで、それは過剰な機能ということになるでしょう。
プロパティの数はそれこそ無数に近いですから。
(ヘルプを確認するとわかりますが、Topなど、位置合わせのために使えそうなものもありますが、
  ChartObjectsのプロパティは限られています。)
 
グラフそれぞれのプロパティを繰り返しで変更することは自然なことです。
ActiveSheet.ChartObjects.Deleteなどは例外です。

回答
投稿日時: 20/08/31 17:34:36
投稿者: kitazawake

感謝であります。マクロの記録を使ってグラフを反転させると、すごく長いプログラムになってしまうのです。
1つ1つのグラフの後ろにコピーして張りつけていました。グラフを作ると右から左に進むグラフの方が直感的にわかりやすいのです。助かりました。前回もお世話になり、今回もお教えいただき有難うございます。

投稿日時: 20/08/31 18:56:19
投稿者: simple

引用:
マクロの記録を使ってグラフを反転させると、すごく長いプログラムになってしまうのです。

どのようなマクロ記録になったのか、是非ともご教示いただきたいですね。
回答をお待ちしています。

投稿日時: 20/09/04 13:14:38
投稿者: simple

ご返事はいただけないようなので、いったん閉じます。