我尝试创建动态for循环,其中开头和结尾数字是变量。但是,代码无法使用更改的开始和结束编号进入for循环。我怎么能解决我的问题?
这是我的代码
Sub row_column()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("origin_boundary")
Row = 1
Dim Start As Integer
Start = 2
Dim Last As Integer
Last = 41
For x = Start To (Last + 1)
If ws.Cells(x, 1) <= Row * 40 Then
ws.Cells(x, 6) = Row
Else
If ws.Cells(x, 1) > (Row * 40) Then
Row = Row + 1
ws.Cells(x, 6) = Row
Start = (Row - 1) * 40 + 2
Last = Start + 39
End If
End If
Next x
End Sub
答案 0 :(得分:1)
For x = Start To (Last + 1)
循环x
从Start
值到(Last + 1)
值。
第一次循环运行x = 2
,因为Start = 2
。
第二次循环运行x = 3
,因为3位于2. Start
之后
在这里没有任何作用,所以没有必要改变
值Start
。相反,您可以更改x
的值x =
(Row - 1) * 40 + 2
。
Last = Start + 39
可以是动态的,但是直到没有问题
x
达到(动态更改的)Last
值的值。您可以在此处使用x
代替Start
。