|
Jaka さん、ありがとうございます。
jakaさんのコードでなるほど!と思い実行してみたら、
・グラフシートに書き出すことはできたが、
HEALTHシートにもグラフが出てしまった→
HEALTHシートにはデータだけでグラフは表記したくない
・グラフの数値でマックス値が70、ミニマム値が0で表記されてしまう→
グラフの数値のマックス値は65、ミニマム値は50で作りたい。
グラフの数値は私がやったときにも、こうなりました。
マクロを実行するとマックス65、ミニマム50の表記になるんですが、
セルを触るとマックス70、ミニマム0に変わってしまうんです・・・。
データの数値は65〜50の間です。
こうなってしまいました・・・・。
>おはようございます。
>
>>この操作だと、シートを表示したときにはうまく表示できますが、セルにポイントを持っていくと最大値と最小値が変わってしまいます。
>>セルを触っても変わらなくする方法はありますか?
>
>この意味が良く解らなかったけど...。
>データ範囲を変えられたくないと取りました。
>こんな感じでしょうか?
>
>Sub GRF()
> Dim WS As Worksheet, WS2 As Worksheet, GRP1 As Object
> Set WS = Worksheets("HEALTH")
> Set WS2 = Worksheets("グラフ")
> Set GRP1 = WS2.ChartObjects.Add(100, 100, 500, 300)
> GRP1.Chart.SetSourceData _
> Source:=WS.Range("A1:B30"), PlotBy:=xlColumns
> GRP1.Chart.ChartType = xlLine
>
> GRP1.Name = "作成グラフ"
>
> With WS2.ChartObjects("作成グラフ")
> With .Chart.Axes(xlValue)
> .MinimumScale = 50
> .MaximumScale = 65
> .MinorUnitIsAuto = True
> .MajorUnit = 1
> .Crosses = xlAutomatic
> .ReversePlotOrder = False
> .ScaleType = xlLinear
> .DisplayUnit = xlNone 'ここ、97だとエラーになった。2000だと動いたけど。
> End With
> .Chart.ProtectData = True
> End With
> Set WS = Nothing
> Set WS2 = Nothing
> Set GRP1 = Nothing
>End Sub
|
|