我试图使用vba在一个范围内生成两个随机整数0和1;然而,当我运行sub时,它只用相同值填充单元格;要么是1还是0。 代码的问题在哪里?
Private Sub Btn_RandomNumbers_Click()
ThisWorkbook.Sheets("Sheet1").Range("c3:c302").value =
Application.Choose(Application.RandBetween(1, 2), 0, 1)
End Sub
答案 0 :(得分:1)
您需要循环并将值分别放在每个单元格中:
我们可以将公式放在整个范围内,计算然后将值重新指定给该范围。
Private Sub Btn_RandomNumbers_Click()
With ThisWorkbook.Sheets("Sheet1").Range("c3:c302")
.Formula= "=RANDBETWEEN(0,1)"
Application.Calculate
.Value = .Value
End With
End Sub
答案 1 :(得分:0)
您生成一次值,并使用此值填充整个范围。如果您希望每个单元格都是随机的,则需要创建一个循环并遍历每个单元格。
伪代码:
For each Cell in Range Do
'write random number in "Cell"
Next Cell