For i = i To nr_commercial
Cells(i, 1) = commercial & RandBetween(1, 6)
Next i
大家好 - 我有以上但我无法解决。它每次都返回一个编译器错误。我在将字符串加上公式放在一起时遇到了问题。
commercial
被定义为字符串
我甚至尝试过
Cells(i, 1) = commercial & = Randbetween(1,6)
并返回错误,表示期待表达式。在功能之间是否有一些不合适的东西?
我需要在单元格中输出,例如:
commercial-1
commercial-5
commercial-3
答案 0 :(得分:1)
尝试:
Application.WorksheetFunction.RANDBETWEEN(1,6)
例如:
Sub qwerty()
Dim nr_commercial As Long, commercial As String
nr_commercial = 10
commercial = "whatever"
For i = 1 To nr_commercial
Cells(i, 1) = commercial & Application.WorksheetFunction.RandBetween(1, 6)
Next i
End Sub
(也修复了循环索引)
答案 1 :(得分:0)
试试这个
For i = i To nr_commercial
Cells(i, 1) = "commercial-" & Application.WorksheetFunction.RANDBETWEEN(1,6)
Next i
已编辑:Application.WorksheetFunction.RANDBETWEEN(1,6)
是正确使用的公式
同样不建议您使用Cells
尝试在代码中使用Sheet
或Worksheet
。
答案 2 :(得分:0)
我认为您的问题是您正在使用For i = i To nr_commercial
,这意味着它正在改变的每次迭代"对于1 = 1到nr_commercial"然后" 2 = 2到nr_commercial"这没有意义。它应该是For i = 1 to nr_commercial
或您想要开始的任何单元格,可能不在第一个单元格中,因为您可能有标题。