2016-10-04 13 views
1

私は常に変更できる数字を持っています。私はその数の前の100分の1を探したい。私は一番近い百を見つけることができます。私はそれをどうやってやっているのですか:いつも最も近い100番台を見つけるには?

Dim mynum as integer 
mynum = 549 
Dim tempnumber as integer 
tempnumber = Round(mynum/100, 0) * 100 '>>> equals 500 which is correct 

mynumが551の場合はどうなりますか? >>それは私が欲しくない600を得る、私は数字が556、588、または599であるかどうか500を望む、私はまだ数が500であることを望む。

私はそれが599 >> 500 、799 >> 700です。基本的に現在の番号の100分の1です。

+0

可能な重複は? (または10またはX)](http://stackoverflow.com/questions/326476/how-to-round-a-number-in-vba-to-the-nearest-5-or-10-or-x) –

+0

ここでは 'またはX'が入ります... 10まで丸める方法を知ったら、それを100に拡張するのは簡単です。 500への丸めが最も近いものではないことに注意してください。それは単純にDOWNを丸めることです。 「最も近い」と四捨五入している場合、599は600をラウンドします。それをやった@ScottCraner –

+0

ありがとう! – JustAnotherPersonYouDontKnow

答えて

1

これを行うには、2つの方法があります。

Round((mynum-50)/100,0)*100 

とワークシート関数を使用して:最寄り5にVBAで数値を丸める[方法の

Application.WorksheetFunction.RoundDown(mynum,-2) 
関連する問題