我正在使用Excel 2013,我需要通过随机数填充单元格范围。确切地说,范围(B1:B4)按数字填充以便在前一列中的单元格值,我的意思是在范围(A1:A4)中。如果有这种情况,我真的不知道如何使用VBA来填充它,否则它很简单。
这是一小部分细胞
# | A | B |
----------------------
1 | Yes | 1 |
----------------------
2 | No | 2 |
----------------------
3 | Maybe | 3 |
----------------------
4 | No | 2 |
----------------------
答案 0 :(得分:2)
如果您只需要随机数字,那么您就不需要VBA。只需将您的单元格公式设置为:
"=RANDBETWEEN(1,3)"
但是,每次计算工作表时,随机数都会发生变化。为避免这种情况,您可以定义以下子项并将其关联,例如,使用操作按钮:
Sub makeRand()
Dim targetRange As Range
Dim xlCell As Range
Dim upperBound As Integer
Dim lowerBound As Integer
Set targetRange = Range("B1:B4")
upperBound = 3
lowerBound = 1
Randomize
For Each xlCell In targetRange
xlCell.Value = Int((upperBound - lowerBound + 1) * Rnd + lowerBound)
Next xlCell
End Sub
答案 1 :(得分:1)
如果您需要做的只是使用vba 进行设置,则应该为您提供值1,2或3:
Range("B1:B4").Formula = "=RANDBETWEEN(1,3)"
如果您只需要 Excel公式,则只需将=RANDBETWEEN(1,3)
粘贴到公式栏中即可。
如果您尝试根据A列值定义B列值,请使用:
Range("B1:B4").Formula = "=IF(A1 = ""Yes"", 1, IF(""No"", 2, If(""Maybe"", 3, ""ERROR"")))"
如果这些都不是你想要的,你将不得不更好地澄清。