dポイントプレゼントキャンペーン実施中!

Excelマクロで、グラフの最小値設定をしたいと思っています。最小値にしたい値はセルAM1にありますが、そこには計算式が入っているので、まずはAM1の値を取得するということをしてみましたが、エラーが出ます。思いつくところは手直ししてみましたが…。頓珍漢なことを書いていましたら、ご容赦いただき、ご教示いただければ幸いです。

Sub 最小値設定()

'最小値の計算結果の値のみを取得
Dim 最小値 As String
最小値 = Range("am1").Value

' Y軸の最小値を設定する
ActiveSheet.ChartObjects("グラフ 1").Axes(xlValue).MiniumumScale = "最小値"

End Sub

A 回答 (2件)

こんにちは、



エラーが出るなどした場合、思いつくところを手直しを自身で出来るのであれば、
デバッグ作業でメソッドやプロパティをリファレンスなどで調べるのが良いと思います。

Office VBA リファレンス https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0
この回答へのお礼

アドバイス、ありがとうございます。ネットで検索してマクロを継ぎはぎしている状態で…。これではいつまでも初歩的なミスをしてしまいますよね…。エラーで引っかかった時、思いつくままにあれこれ修正せず、もっとしっかり調べたいと思います。ありがとうございました<(_ _)>

お礼日時:2020/09/13 23:19

自力でこれを解決できるようにするには、型の勉強した方が良いとアドバイスしておきます。



ActiveSheet.ChartObjects("グラフ 1").Axes(xlValue).MiniumumScale
に代入できるのは整数型です。つまり、
=“最小値”(文字列)などということは絶対にできません。

結果、丁寧に書くとすれば下の通りで動くと思います。型とかよくわからないならば、宣言文でAs (型名)書かなくて良いと思いますよ
Sub 最小値設定()

'最小値の計算結果の値のみを取得
Dim 最小値 As Integer
最小値 = Range("am1").Value

' Y軸の最小値を設定する
ActiveSheet.ChartObjects("グラフ 1").Axes(xlValue).MiniumumScale = 最小値

End Sub
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます!
変数にいろいろな型があるのですね。勉強になりました。(きっと、基礎的なことですよね…。お恥ずかしい…。)
今回は小数点を扱うので、「Single」という型で設定してみました。

まだほかのところでエラーが出ますが、どこが悪いのかじっくり取り組みたいと思います。

ありがとうございました!

お礼日時:2020/09/13 23:22

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