• ベストアンサー

アクセスVBAで四捨五入

アクセスVBAでROUND関数を用いると、"銀行型"という丸めになります。これをエクセルシートのROUND関数と同じように"算術型"にする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

回答の式自体は#1の方と同じですがユーザー定義関数にすることをお奨めします。 モジュールにて Function ROUNDX(SUTI As Double, KETA As Integer) As Double Select Case SUTI Case Is < 0 ROUNDX = -Int(-SUTI * 10 ^ KETA + 0.5) / 10 ^ KETA Case Else ROUNDX = Int(SUTI * 10 ^ KETA + 0.5) / 10 ^ KETA End Select End Function これでROUNDX(数値,桁数)とすれば計算できます。

sara304
質問者

お礼

イッペー(とても)ニヘーデービル(ありがとうございます)。問題が解決しました。これからもいろいろなことを質問するかもしれません、よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

Application.WorksheetFunction.Round(2.5, 0) という形で、ワークシート関数を呼び出すことができます。

sara304
質問者

お礼

あちがとうございました!!エクセルVBAで可能になることが確認できました。参考になりました

すると、全ての回答が全文表示されます。
回答No.2

何桁目で丸めるかによりますが、仮に小数点以下を丸めたい場合、  INT(数値 + 0.5) とすれば四捨五入されます。

sara304
質問者

お礼

ありがとうございました!!これからもよろいしくお願いします。

すると、全ての回答が全文表示されます。
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

http://support.microsoft.com/default.aspx?scid=kb;ja;418216 ありませんので自分で作る必要があります。 こんな感じ。 If X > 0 Then  X = Int(X + 0.5) Else  X = Int(X - 0.5) End If

sara304
質問者

お礼

ありがとうございました!!これからもよろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A