n!は1*2*3*…(n-1)*nの計さんですから、1からnまでの積を作ればいいでしょう。
マクロは次のように書きます。
�@ function prog32(n as integer) as integer
�A dim count integer
�B prog32 = 1
�C for count = 1 to n
�D prog32 = prog32 * count
�E next count
�F end function
�C式が繰返しを行う文で、1からnまでnext文まで繰り返します。
�Dでfor文のcount(制御変数)が順次1からnまで変化していく過程でprog32に1*2*3*…*nの計算をしてくれます。
countが1から始まり1づづふえてnまで増えたらfor文を終了します。即ち、prog32には1からnまでの積が作られます。
もうひとつ、例をあげましょう。
次のプログラムのfor文の記述でも結果は同じになります。
�@ function prog320(n as integer) as integer
�A dim count integer
�B prog320 = 1
�C for count = n to 1 step -1
�D prog320 = prog320 * count
�E next count
�F end function
for文の増分がstep -1 のように記述してますからcount(制御変数)は n,(n-1),…,3,2,1と変化していきます。
即ち、prog320にはnから1までの積が作られます。