2010年6月29日火曜日

便利なVBA関数

VBA関数はMicrosoft Excel(マイクロソフト・エクセル)などの表計算ソフトで用いられる。
最小公倍数を求める関数を以下に記します。

【引数の説明】
x,yは最小公倍数を求めるための任意の数値。zはその精度を定める数値です。例えばz=1のときは1/10,z=3のときは1/1000。普通、最小公倍数を求める関数はピタリと一致する公倍数しか求めることが出来ないのに対し、引数zを決めることにより、「大体一致する」程度の公倍数を求めることが出来る。

【使い方】
セル内で、「=koubai(x,y,z)」と入力する。
 例:19.32と8.96の最小公倍数を求める。
=koubai(19.32,8.96,2) の場合、z=2だから、0.01の精度で一致する公倍数を求める。

'コード開始-------------

Function koubai(x, y, z) As Double
Dim a As Double
Dim k(2) As Double

a = x / y
i = 1
Do While a - Int(a) >= 1 / 10 ^ z
a = a + x / y
i = i + 1
Loop
k(0) = a * y

a = y / x
i = 1
Do While a - Int(a) >= 1 / 10 ^ z
a = a + y / x
i = i + 1
Loop
k(1) = a * x

If k(0) > k(1) Then
koubai = k(1)
Else
koubai = k(0)
End If
End Function
'-----------------コード終了


岡本英三
Okamoto Eizo