EXCEL VBAの商について

Anonymous
2018-01-14T11:30:08+00:00

EXCEL VBAの商の計算について教えてください。 

Sub test() 

i = 4 

j = 2 

k = -2 

Debug.Print j ^ k 

x = i \ (j ^ k) 

Debug.Print x 

End Sub 

(¥が\と表示されてしまう)

上記を動作せせると、「0で除算しました。」のエラーになってしまい 

正しい答えが返ってきません。(赤の数式の部分がエラー) 

EXCEL VBAの商にはバグがあるのでしょうか。どうか教えてください。 

ちなみに、ワークシートで 

=QUOTIENT(4,1/4) 

これを計算させると正しい答え「16」が返ってきます。 

よろしくおねがいします。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2018-01-14T13:30:45+00:00

~ ヘルプより ~

¥ 演算子

(構文) result = number1  ¥  number2

number1 必ず指定します。任意の数式を指定します。

number2 必ず指定します。任意の数式を指定します。

除算を実行する前に、数式

バイト型 (Byte)、整数型 (Integer)、

または長整数型 (Long) の式に丸められます。

したがって、「 j ^ k ⇒ 0.25 」 は整数に丸められてゼロになります。

この回答は役に立ちましたか?

3 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2018-01-14T13:39:53+00:00

    自分でもヘルプを見て、解決しました。

    ワークシートで"=QUOTIENT(4,1/4)"が計算できていたため、VBAでエラーになるとは思っていませんでした。

    x = Application.Quotient(i, j ^ k)

    として、計算することにします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません