【问题标题】:creating dynamic for loop in VBA excel在 VBA excel 中创建动态 for 循环
【发布时间】:2017-10-24 07:48:04
【问题描述】:

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

标签: vba loops for-loop


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 2013-05-20
    • 1970-01-01
    • 2021-05-06
    • 2020-05-24
    • 2019-06-14
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多