在VBA excel中创建动态for循环

时间:2017-10-24 07:48:04

标签: vba loops for-loop

我尝试创建动态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

1 个答案:

答案 0 :(得分:1)

For x = Start To (Last + 1)循环xStart值到(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