• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:現在、エクセルで、選択したグラフの大きさや縦横軸を統一するマクロを作成)

Excelでグラフの縦横軸を統一するマクロ作成方法

このQ&Aのポイント
  • Excelで選択したグラフの大きさや縦横軸を統一するマクロの作成方法について説明します。
  • マクロを使用して、選択したグラフの初期設定値をダイアログの入力欄に表示させる方法についても解説します。
  • ExcelのVBAを使って、選択したグラフの縦横軸の最小値と最大値を設定する方法について詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

Sub try()   Dim objs As Object   Dim obj As Object   Dim flg As Boolean   Dim xmin As Double   Dim xmax As Double   Dim ymin As Double   Dim ymax As Double   If TypeName(Selection) <> "DrawingObjects" Then     MsgBox "failure"     Exit Sub   End If   Set objs = Selection   For Each obj In objs     If TypeName(obj) = "ChartObject" Then       flg = True       With obj.Chart         With .Axes(xlCategory)           xmin = .MinimumScale           xmax = .MaximumScale         End With         With .Axes(xlValue)           ymin = .MinimumScale           ymax = .MaximumScale         End With       End With       Exit For     End If   Next   If flg Then     xmin = Application.InputBox("x軸最小値", , xmin)     xmax = Application.InputBox("x軸最大値", , xmax)     ymin = Application.InputBox("y軸最小値", , ymin)     ymax = Application.InputBox("y軸最大値", , ymax)     For Each obj In objs       If TypeName(obj) = "ChartObject" Then         With obj.Chart           With .Axes(xlCategory)             .MinimumScale = xmin             .MaximumScale = xmax           End With           With .Axes(xlValue)             .MinimumScale = ymin             .MaximumScale = ymax           End With         End With       End If     Next   End If   Set objs = Nothing End Sub こんな感じです。 2003以前と2007でちょっと挙動が違って、 2003では上記try実行した後、Selctionのまま再実行すると 最初に選択したChartがわからなくなるようです。 単独で実行する分には問題ないでしょう。

shinoda
質問者

お礼

ありがとうございます!!これで効率化します!!

関連するQ&A