如何用VBA在excel中编辑宏完成,

在A1单元格输入4.31,在B1到G1随机根据A1产生随机数,通过计算会在H1和M1分别得出一个值,如果H1的值<1.33且M1的值<100%,则继续自动在A1输入4.31,直到满足H1》1.33且M1》100%,停止重复输入。
如在A1输入4.31,公差为±0.1,在B1到G1随机产生在4.21~4.41的数值

你的问题没说清楚,在B1到G1随机根据A1产生随机数,这个根据A1的值生成随机数没有写清楚计算方式。后面的倒是很好理解,用循环判断语句就可以得到你想要的效果,for...next

do...loop都行。追问

如在A1输入4.31,公差为±0.1,在B1到G1随机产生在4.21~4.41的数值

追答

Sub a()
Dim i As Integer
Cells(1, 1) = 4.31
For i = 2 To 7
If Rnd > 0.5 Then
Cells(1, i) = 4.31 + Rnd / 10
Else
Cells(1, i) = 4.31 - Rnd / 10
End If
Next i
End Sub
这只是声称公差小于0.1的随机数,后面你的要求没做,你自己用if判断一下吧

追问

你好 If Rnd > 0.5 是随机数>0.5的意思吗,这个是表示公差小于0.1的随机数吗,如果公差是±0.3呢 不好意思啊 我这个不是太清楚 见谅

追答

rnd生成0-1的随机小数,假设这时生成的小数是0.99999999999999999,那要限定在0.1以内,那就除以10了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-01
很花时间,最好自己学习写下。
相似回答