ああヒドイ。訂正です。

Function PoissonRand(lambda)
Dim n, x, V, Vlimit
n=0: x = 1: V = 0: Vlimit = Exp(lambda)*Rnd()
Do
V=V+x
If V > Vlimit Then Exit Do
n = n + 1
x = x* lambda / n
Loop
PoissonRand = n
End Function