| 
    
     |  | おはようございます。 
 >この操作だと、シートを表示したときにはうまく表示できますが、セルにポイントを持っていくと最大値と最小値が変わってしまいます。
 >セルを触っても変わらなくする方法はありますか?
 
 この意味が良く解らなかったけど...。
 データ範囲を変えられたくないと取りました。
 こんな感じでしょうか?
 
 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
 
 |  |