advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 33504 for 関数 (0.006 sec.)
[[20200717151514]]
#score: 2646
@digest: 5fb61cef378cab9612af823557a24183
@id: 84513
@mdate: 2020-07-18T00:10:55Z
@size: 3868
@type: text/plain
#keywords: sekibun (14111), 神様 (13582), area (12362), (隣 (10794), xj (9590), の神 (8762), 時ar (7748), 積分 (7145), dx (4992), xi (4276), 算済 (4175), double (3639), 様) (3540), ー" (3477), ー11 (3257), 除算 (2696), で除 (1623), 2020 (1589), 金) (1568), (ok (1465), tmp (1365), 右辺 (1227), 隣の (1112), 変数 (1098), 随時 (1043), 宣言 (992), 不正 (788), 苦労 (682), デン (675), cells (667), 構造 (657), 算さ (610)
『0で除算しましたが表示されます』(隣の神様)
Sub sekibun() Dim i As Integer, area As Double, tmp As Double, n As Integer Cells(1, 1) = n Cells(1, 2) = area If n < 0 Then MsgBox " エラー " If n = 0 Then MsgBox " エラー" End If Else dx = 10 / n For i = 1 To n xi = dx * (i - 1) xj = dx * i fxi = 0.2 * xi * xi * xi - 0.15 * xi * xi - 0.005 * xi + 2 fxj = 0.2 * xj * xj * xj - 0.15 * xj * xj - 0.005 * xj + 2 tmp = dx * (fxi + fxj) / 2 area = area + tmp Cells(i + 1, 1) = dx * (fxi + fxj) / 2 Next i End End If End Sub エクセルのマクロでこのnに200や10などを入力しても 0で除算しましたのエラー11が表示されます。 どなたかこれをうまく動くような解決策を 教えて頂きたいです。よろしくお願いします。 < 使用 Excel:Office365、使用 OS:MacOSX > ---- >Cells(1, 1) = n Cells(1, 2) = area 左辺と右辺が逆じゃないですか? (OK) 2020/07/17(金) 15:29 ---- わぁめっちゃうまくいきます。 ありがとうございます。 それと計算された値を全て足す方法などを ご存知でしたら教えて頂きたいです。 (隣の神様) 2020/07/17(金) 15:40 ---- 宣言されてない変数なありますが、変数の型はdouble ですか? (OK) 2020/07/17(金) 15:43 ---- Nの宣言を忘れていますね おそらくnはIntenger ですよね。 他の関数はおそらくこのままで大丈夫な気がします。 しかし、その点も不安ですので ご教授よろしくお願いします。 (隣の神様) 2020/07/17(金) 15:49 ---- 足したいのはどの変数ですか? (OK) 2020/07/17(金) 15:51 ---- 例えばn=200とした時の計算されたA1セル以外のA列の2‾201までの値を 一つ一つ足し算したいです。 (隣の神様) 2020/07/17(金) 15:56 ---- とりあえず If n > 0 Then (計算) Else MsgBox " エラー" End If にしてください。 あと変数は宣言してください。 (苫) 2020/07/17(金) 16:02 ---- これで 一つ一つ足し算できますか? (隣の神様) 2020/07/17(金) 17:12 ---- 参考まで。 https://www.relief.jp/docs/excel-vba-worksheetfunction-sum-cell-range.html (OK) 2020/07/17(金) 17:18 ---- area 変数がその和ですから、 最後に Cells(1, 2) = area とすれば、B1セルに結果が表示できるんじゃないですか? (γ ) 2020/07/17(金) 17:18 ---- ん? 似たような質問が別のスレッドにあるんだな。どうなってんの? 上のコメントは無いほうが良かったのかな? (γ ) 2020/07/17(金) 17:25 ---- おそらくarea=area+tmpがうまく行ってないために 足算されていない気がします。 何かアドバイスなどがございましたらよろしくおねがいします (隣の神様) 2020/07/17(金) 21:51 ---- γさんの17:18の回答に書いてあるとおりです。 ちゃんと計算されてarea変数に納められています。 (はらぺこ) 2020/07/17(金) 22:02 ---- もしかしたら Cells(1, 2) = area と一度書いておくとその後area変数の値が更新されたらセルの値も更新されるとお思いかもしれませんが 上記の一文を書いてあるタイミングでしか値は更新されませんので もし随時area の値をB1セルに表示したいのであれば、 area = area + tmp Cells(1, 2) = area のように書いてください。 (はらぺこ) 2020/07/18(土) 08:01 ---- はらぺこさん、フォローありがとうございます。 コメントご苦労さまです。 今のでもareaは計算済みだと思いますよ。 インデントが不正確なので構造がわかりにくいが、 少し手を入れるとこんなことでしょう。 Sub sekibun() Dim i As Long, area As Double, tmp As Double, n As Long Dim dx As Double, xi As Double, xj As Double n = 100 '分割数 Cells(1, 1) = n If n <= 0 Then MsgBox " エラー " Else dx = 10 / n '積分区間は[0,10] For i = 1 To n xi = dx * (i - 1) xj = dx * i tmp = dx * (f(xi) + f(xj)) / 2 area = area + tmp Cells(i + 1, 1) = tmp Next i Cells(1, 2) = area End If End Sub Function f(x As Double) As Double f = 0.2 * x ^ 3 - 0.15 * x ^ 2 - 0.005 * x + 2 End Function いわゆる積分の台形公式ですね。 (γ ) 2020/07/18(土) 09:10 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202007/20200717151514.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97032 documents and 608003 words.

訪問者:カウンタValid HTML 4.01 Transitional