麻烦与String + RandBetween()VBA

For i = i To nr_commercial Cells(i, 1) = commercial & RandBetween(1, 6) Next i 

大家好 – 我有上述,但我无法解决它。 它每次都会返回一个编译器错误。 我遇到了问题,把一个string加上一个公式。

commercial被定义为一个string

我甚至尝试过

 Cells(i, 1) = commercial & = Randbetween(1,6) 

并返回错误,期待expression。 有没有不正确的function之间的兰德?

我需要在像这样的单元格中输出:

 commercial-1 commercial-5 commercial-3 

尝试:

 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 

(也固定循环索引)

尝试这个

 For i = i To nr_commercial Cells(i, 1) = "commercial-" & Application.WorksheetFunction.RANDBETWEEN(1,6) Next i 

编辑: Application.WorksheetFunction.RANDBETWEEN(1,6)是使用正确的公式

此外,不build议使用Cells尝试在您的代码中使用Worksheet SheetWorksheet

我认为你的问题是你正在使用For i = i To nr_commercial这意味着每一次迭代都会改变“For 1 = 1 to nr_commercial”,然后是“2 = 2 to nr_commercial”,这是没有意义的。 它应该是For i = 1 to nr_commercial或任何您想要开始的单元格,可能不在第一个单元格中,因为您可能有标题。