• ベストアンサー

選択した特定のチャートオブジェクトのみにマクロ

選択した特定のチャートオブジェクトのみにマクロ VBA初心者です。 現在、1つのシート中に15程度のグラフチャートがありますが、そのうち、選択した特定のグラフチャートのみに縦横軸の最大値最小値を設定する(統一する)マクロを実行したいと考えております。 このとき、どのようにしたら選択した特定のグラフのみにマクロを適用できるかがわかりません。 ご教授お願いいたします!!

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

複数選択のときはどうかなと思ってやってみました。コメントアウトしてある箇所は試験時の名残です。なお、当方xl2000です。 Sub test() Dim chartObj As ChartObject Dim myObj As Object 'ActiveSheet.Shapes.Range(Array("Chart 1", "Chart 3", "Chart 2")).Select For Each myObj In Selection Set chartObj = ActiveSheet.ChartObjects(myObj.Name) With chartObj.Chart.Axes(xlValue) .MaximumScale = 200 .MinimumScale = 0 End With Next myObj End Sub

shinoda
質問者

お礼

ありがとうございます!! できました。走りました!! VBA万歳!!

その他の回答 (1)

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

選択中のものであれば、ActiveChartで取得できます。 On Error GoTo ErrTrap With ActiveChart.Axes(xlValue) .MinimumScale = 10 .MaximumScale = 100 End With ErrTrap: マクロの記録開始時に、ツールバーに「相対参照」にするボタンが出ます。 相対参照ならそのままでも使えるので、見てみてください。 また、グラフを選択していないとエラーになるので、エラー処理も入れるといいかも。 で、どうかな?

shinoda
質問者

お礼

ありがとうございます! 早速試してみたいと思います!!

関連するQ&A