【初月無料キャンペーン中】gooドクター

Excelのグラフについて質問です。

縦棒グラフのオブジェクトが左右に並べてあるのですが、
左側の軸の最大値設定を右側のグラフに自動的に反映できないでしょうか?

↑まずはこれだけで良いのですが、
左側の軸の最大値は、同じシートのBH1セルに入力した値に設定したいです。

下記のマクロ実行で出来るところまでは分かったのですが、グラフを自分で選択してからじゃないとだめなのでこれを改善したいです。
ActiveChart.Axes(xlValue).MaximumScale = Range("BH1").Value

gooドクター

A 回答 (2件)

>グラフ1とグラフ2を揃えたいという事です。


すみません。違う事を考えていました。

各ChartObjectを指定して同じコードを実行すれば、出来ると思います。
なので、解決したかと思いますが、

複数のChartObjectに同じ処理を実行する一例です。(沢山あってすべてにと言う場合は有効かな)
アクティブシートにあるすべてのChartObjectが対象になります。
グラフが2つしかないのであれば、下記でも良いかも

Sub 参考()
  Dim i As Integer
  With ActiveSheet
    For i = 1 To .ChartObjects.count
      .ChartObjects(i).Activate ’インデックスで処理をする
      ActiveChart.Axes(xlValue).MaximumScale = Range("BH1").Value
    Next
    .Range("BH1").Select ’グラフが選択状態になると思いますのでセルを選択して終了
  End With
End Sub
    • good
    • 0

こんにちは、


>グラフを自分で選択してからじゃないとだめなのでこれを改善したいです。
マクロの自動記録で対象のグラフを選択するなどでコードを調べる事が出来るかと思いますが
ご質問のコードをそのまま使うのであれば、

ActiveSheet.ChartObjects("グラフ 1").Activate  ’グラフ 1は、グラフオブジェクトの名前なので変更してください。ActiveSheetも必要に応じ変更します
ActiveChart.Axes(xlValue).MaximumScale = Range("BH1").Value

>左側の軸の最大値設定を右側のグラフに自動的に反映できないでしょうか?
ちょっと分からないのですが、参照元を同じにすると言う事?
    • good
    • 0
この回答へのお礼

>>左側の軸の最大値設定を右側のグラフに自動的に反映できないでしょうか?
>ちょっと分からないのですが、参照元を同じにすると言う事?

グラフ1とグラフ2を揃えたいという事です。
グラフ1とグラフ2を指定して実行すればできそうなので試してみます。
ありがとうございました。

お礼日時:2020/07/27 17:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング