String + RandBetween()VBA问题

时间:2017-12-05 12:29:59

标签: excel vba

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

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尝试在代码中使用SheetWorksheet

答案 2 :(得分:0)

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