プログラミングを勉強しているものです。
以下に示すプログラムを修正して原点を1とする半径が1の円の上半円の半円のグラフ描くプログラムを作りたいのです。直す箇所は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件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こうですかね。
Sub ex12()
fillfunc 0#, 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 = Sqr(1 - (x - 1) * (x - 1)) '変更②
.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
No.1
- 回答日時:
こんにちは
>プログラミングを勉強しているものです。
どこまでわかっていますか?
ご提示のプログラムは y=sin(x) をグラフ化するものです。
手順として、
1)xの各値に対する、yの値を計算し表を作成する
2)上記の表をエクセルのグラフ機能を利用してグラフ化する
というもので、それぞれをサブルーチン化してあります。
2)は指定されたセル範囲のデータを折れ線グラフに表示するだけのものなので、グラフの内容を変えたければ、表の値(=(x,y)のデータ群)変えればよいことになります。
値を計算している部分は何行もありませんので、そこだけ理解できれば、何を修正すれば良いかもわかると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- 数学 単振り子とルンゲ・タック法 1 2022/07/15 00:05
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webプログラムってネイティブア...
-
VBA
-
processingで雪が積もるような...
-
プログラムのコーディングって...
-
MATLABによるニューラルネット...
-
C言語にて作成中の三目並べにつ...
-
butter worth形LPFの設計プログ...
-
掃き出し法の計算誤差について
-
ソケット通信プログラムのヘッ...
-
c言語プログラミングについて ...
-
C言語にすごく悩んでいます。
-
iPhone アプリ タップ 拡大
-
プロダクションコードとは?
-
expectを使用しない対話型処理
-
Outlook 動作を停止しました
-
ドロネー三角形分割のプログラ...
-
四択のクイズを作っているので...
-
URLの最初の「h」を略す
-
yahooに接続後メールにログイン...
-
一次元IFFTとFFTにおけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
XPathの関数「text()="value"」...
-
C言語→MATLABへの変換で、困っ...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報