【发布时间】:2020-12-30 05:34:47
【问题描述】:
我有一个数据集,其中每一行都有一个缩写,然后是一个与之关联的日期。然后下一行是与下一个日期相同的缩写。在日期“范围”的末尾,它变为下一个缩写,贯穿另一个日期范围。
我当然想遍历整个数据集,但是我想为每个缩写的子集创建一个内部循环。我的想法是在内循环中增加外循环,这样当内循环完成时,外循环跳到下一组缩写,但我不认为外循环允许我这样做。
代码如下所示。有没有办法让 For 循环不遍历每个值,而是“向前跳”到这个 Do 循环的最后一个值?
For i = 2 To LastRow
'Create a loop through the abbreviations
Do While Cells(i, 1).value <> Cells(i + 1, 1).value
i = i + 1
Loop
Next i
【问题讨论】:
-
当使用
For...Next循环时,改变循环内的循环计数器被认为是不好的做法。如果您需要做类似的事情,那么Do循环是更好的选择。 -
我看到你已经编辑了标题以专注于
Do而不是For循环。但是您已经有了一个广泛解释如何做到这一点的答案。如果您需要更多帮助,最好编辑您的问题以包含一些示例数据、预期输出(均作为文本)、您当前使用 Do 循环获得的代码、您当前获得的输出以及您获得的任何错误. -
好的听起来不错。我试图回到堆栈溢出的好意,只是改变了标题。我是一个完整的新手,我疯了一样跌跌撞撞。感谢指导