- ベストアンサー
VBAの算数とプログラミングの式の違い
- VBAにおいて算数とプログラミングの式は異なる扱いとなります。
- 算数では左から右に計算が進みますが、VBAでは式の逆順で計算されます。
- したがって、VBAの式では「i + 1」のように逆順で書く必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>i=1 は、変数iに1を入れる。 >i +1 = i あなたの解釈では、「i+1を変数iに入れる」で、先のi=1と処理の方向が逆です。だめですね。
その他の回答 (3)
- chayamati
- ベストアンサー率41% (260/624)
あなたは小学生 すごいですね 中学になったら算数でなく、数学という学問に変わります。 中学では A=2+5 のような表現になります。 = 両側に 演算記号を付けて 2×3=2+2+2 のようにも表現します。 この表現は外国でも同じです。
お礼
ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
>算数では >1+1=2 >と言う書き方をしますよね 算数のその式は、「1+1の結果は2と等しい(2です)」と言ってます。 「2に1+1を入れている」つもりは、どこにもありません。2に入れる??ってそもそも意味不明ですよね。 アナタのマクロをちょいと修正するなら… sub macro1() dim i, j i = 2 j = 3 msgbox 1 + 1 = i msgbox 1 + 1 = j end sub 実行すると「TRUE」そして「FALSE」という結果が現れます。 最初の結果は、1+1は2と等しい、です。算数と同じですね。 次の結果は、1+1は3と等しくない、です。算数なら1+1≠3といった具合です。 で。 そもそも「変数」や「代入」の概念は、小学校の算数には出てきません。なので小学校の算数では、「左に右の値を代入する」を説明できないんです。 代入の概念は中学校の数学以降で初めて勉強します。 y=a×x+b といったのをやったのを、もう忘れちゃいましたかね。これが「右の結果を左に代入する」、つまりVBAのマクロの値の代入の式です。
お礼
ありがとうございました。
- unacyo
- ベストアンサー率51% (35/68)
VBAは左に入れ物(変数)を用意し、その中身はこれを入れる(直値か計算式か変数)、と指定するので、右から左ですね。 (VBA、VB、Java、JavaScript、C言語、C++、Perl、昔のPCのBASICなど、私がやってきた言語は大抵右から左です。 ただし、やっていない言語も多々あるので、絶対右から左、とは断言できませんが…。 アセンブラ言語の場合、CPUで異なり、右から左や左から右があります。以上参考まで)
お礼
基本的にプログラミング言語は右から左だけど、絶対なわけではないようですね。 もっと色々勉強してみます。ありがとうございました。
お礼
やはりだめですね。ありがとうございました。