你要知道rnd得到的都是小于1的随机数这样你就知道为什么了至于你要生成什么随机数我没看明白因为你的a好像没起到限制的作用 只起到了改变随机数的随机性
Private Sub Form_click()RandomizePrint Int(Rnd * (b-a+1) + a)End Sub产生随机数要用randomize,不然每次产生的都一样还有正确的格式应该是INT(RND*(b-a+1)+a)