我试图创建动态 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
For x = Start To (Last + 1)
x
从一个Start
值到另一个值循环(Last + 1)
。
第一次循环运行,x = 2
因为Start = 2
.
第二个时间循环运行,x = 3
因为 3 在 2 之后。Start
在这里没有作用,因此更改 的
值没有意义Start
。相反,您可以更改x
like的值x = (Row - 1) * 40 + 2
。
Last = Start + 39
如果您愿意,可以是动态的,但在x
达到(动态更改的)Last
值之前无关紧要。您可以使用x
代替Start
这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句