[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで計算式の答の出し方』(痴呆症さん)
ご質問させて頂きます。
EXCELのVBAで平均断面法(面積)の計算式 ↓
=((3+4)/2)×20
を表示したまま、別のセルに答を出したいのですが、
どのような式になるかわかる方おりますでしょうか?
EXCEL2013になります。
宜しくお願いします。
< 使用 Excel:Excel2003、使用 OS:Windows8 >
>表示したまま
表示したままとは、「どこに」表示したままなんですか?
=((3+4)/2)×20 が、どこかのセルに入っていて、別のセルで、この計算結果を表示するということですか?
その場合、 = で始めるのは具合悪いですね。エクセルに叱られます。
すなおに、=((3+4)/2)*20 といれると、そのセルが 70 になりますが、それではいやだということですかね?
たとえば = をぬいて ((3+4)/2)X20 と入力していたとして、別のセルに、その結果を表示するということならできますが。
(β) 2015/03/30(月) 19:47
もし上記のようなことだったとして
標準モジュールに
Function CalFromFormula(r As Range) CalFromFormula = Evaluate(Replace(r.Value, "X", "*")) End Function
で、計算させたい式 ((3+4)/2)X20 等がシートのセルのたとえばA1にはいっていれば =CalFormula(A1) とか。
(β) 2015/03/30(月) 19:52
例)
|A=((17+15)÷2)×0.2 | |
1 | +((17+15)÷2)×0.2 | 9.6 |
| +((17+15)÷2)×0.2 |
というように全ての計算式を表示させたまま3番目のセルにその答えを出したいのですが?
(理由は、小学生の子供でもわかる明快な表記)
宜しくお願いします。
(痴呆症さん) 2015/03/30(月) 20:37
後出しはやめていただきたいですねぇ。
最初の例示では 割り算は / だったんじゃないですか?
で、入力はすべて全角なんですか?
また、9.6 という結果は 式を入力 -> 何らかの方法でのマクロ実行指示 ->計算して結果を表示 ですか? その場合、式がどこに何行あるのかは、どのように指定する予定ですか?
それとも、9.6 があるセルに、なんらかの関数式をいれておいて、この3行を参照して答えを表示。
どちらにしたいですか?
処理するうえでの約束事として A= というのは、必ずつける? あるときは、B= であったり,あるときはつけなかったり? ということはないでしょうね。
それと、アップされた、一番左側にある 1 って何ですか?
(β) 2015/03/30(月) 21:03
あくまで「小学生がわかる式」という前提です。 ●乗があったとかπがあったとか、√があったとか 後出しはやめてくださいね。四則演算に限ります。
たとえば A1:A3 に
A= ((17+15)÷2)X0.2 +((17+15)÷2)X0.2 +((17+15)÷2)X0.2
があったとします。 全角でも半角でも、先頭や末尾や途中にスペースがあっても、A= があっても B=があってもなくてもかまいません。 ただし、●=があるとしたら ●は1桁にしてくださいね。 AA= というのは想定していません。
で、標準モジュールに以下。
セル側は、たとえば B3 に =小学生でもわかる式(A1:A3) といれます。
Function 小学生でもわかる式(r As Range) As Variant Dim s As String s = Replace(StrConv(Replace(Join(WorksheetFunction.Transpose(r.Value), ""), "÷", "/"), vbNarrow), " ", "") s = Replace(s, "X", "*") If Mid(s, 2, 1) = "=" Then s = Mid(s, 3) 小学生でもわかる式 = Evaluate(s) End Function
(β) 2015/03/30(月) 21:46
弥太郎さんのこれ、いつもおすすめしています。
で、本題とは関係ないのですが 自分を卑下する気で使われたのかもしれませんが、 ハンドルネーム、あまり好ましいものではないと思います。
もし本当に認知症の疑いがあり、今までできていたことが突然できなくなったり、幻覚や物忘れに 実際に悩まされているのでしたら申し訳ありません。
(稲葉) 2015/03/30(月) 23:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.