VBA遍历InputBox中给出的行数

gla*_*rys 3 vba loops excel-vba

我想循环输入在输入框+1中输入的行数.

Sub LoopEnter()
    myNum = Application.InputBox("Enter number")
    For Each r In Range ("A2":"A" & myNum +1)
        r.Offset (0.1) = "N"& r
        Next r
    End Sub
Run Code Online (Sandbox Code Playgroud)

但是,("A2":"A" & myNum +1)不被视为范围.如果在InputBox中输入的数字是40,那么制作范围的正确方法是什么,例如(A2:A41)?

3-1*_*264 7

试试这个 ...

Sub LoopEnter()
    myNum = Application.InputBox("Enter number")
    For Each r In Range ("A2:A" & myNum +1)
        r.Offset (0,1) = "N" & r.Row
    Next r
End Sub
Run Code Online (Sandbox Code Playgroud)

你有:错误的地方......它应该在字符串内,而不是在两个字符串之间!


根据@Santosh的建议更新,因为你也错过.Row了... r是一个Range对象,r.Row是该对象的行号属性Range.