「教えて!ピックアップ」リリース!

プログラミングを勉強しているものです。
以下に示すプログラム(例題12)を修正してy=x^2のグラフをx=-2からx=2の範囲の範囲で描くプログラムを作りたいのです。直す箇所は2行だけと書いてあったのですが、何処をどのように直せば良いか教えていただきたいです。宜しくお願い致します。

Sub ex12()
fillfunc 0#, 10#, 60
mygraph 1, 1, 61, 2
End Sub
Sub fillfunc(x1 As Double, x2 As Double, nd As Integer)
Dim n As Integer
Dim x As Double, y As Double, dx As Double
dx = (x2 - x1) / nd
With Worksheets("Sheet1")
For n = 0 To nd
x = x1 + dx * n
y = Sin(x)
.Cells(n + 1, 1) = x
.Cells(n + 1, 2) = y
Next n
End With
End Sub
Sub mygraph(sr As Integer, sc As Integer, lr As Integer, lc As Integer)
ActiveSheet.ChartObjects.Add(200, 10, 240, 200).Select
ActiveChart.ChartWizard _
Source:=Range(Cells(sr, sc), Cells(lr, lc)), _
gallery:=xlLine, Format:=2, PlotBy:=xlColumns, _
categorylabels:=1, serieslabels:=0, HasLegend:=2, _
Title:="y", categorytitle:="x", valuetitle:="", extratitle:=""

End Sub

A 回答 (2件)

こうですね。


Sub ex12()
fillfunc -2#, 2#, 60 '変更①
mygraph 1, 1, 61, 2
End Sub
Sub fillfunc(x1 As Double, x2 As Double, nd As Integer)
Dim n As Integer
Dim x As Double, y As Double, dx As Double
dx = (x2 - x1) / nd
With Worksheets("Sheet1")
For n = 0 To nd
x = x1 + dx * n
y = x * x '変更②
.Cells(n + 1, 1) = x
.Cells(n + 1, 2) = y
Next n
End With
End Sub
Sub mygraph(sr As Integer, sc As Integer, lr As Integer, lc As Integer)
ActiveSheet.ChartObjects.Add(200, 10, 240, 200).Select
ActiveChart.ChartWizard _
Source:=Range(Cells(sr, sc), Cells(lr, lc)), _
gallery:=xlLine, Format:=2, PlotBy:=xlColumns, _
categorylabels:=1, serieslabels:=0, HasLegend:=2, _
Title:="y", categorytitle:="x", valuetitle:="", extratitle:=""

End Sub
    • good
    • 1

例題12は 


①どのような関数のグラフを
②どういうxの範囲でプロットする
物なのでしょうか?
それらは、どこで指定されているのでしょうか?
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング