【问题标题】:Continue For Next loop in separate cell继续在单独的单元格中进行下一个循环
【发布时间】:2015-02-26 14:25:57
【问题描述】:

我有一个数字表,我想创建一个循环遍历每个数字的宏,并返回任何大于 0 的值。

表格看起来像这样:

    1   2   3   4   5   6   7   8   9   10  11  12  13  14
1   0   0   0   0   0   0   0   0   0   0   0   0   0   0
2   0   0   0   0   2   0   0   0   0   0   0   0   0   7
3   0   0   0   0   0   0   0   0   0   0   0   0   0   0

我希望它返回列标题。因此,在该示例中,我希望它为第二行返回值 5 和 14。

到目前为止我有:

For j = 0 To 11
    For i = 0 To 91

        If Cells(2 + j, 2 + i) > 0 Then
        Cells(16 + j, 2) = Cells(1, 2 + i)
        End If

    Next i
Next j

这个问题是它只会返回单元格中的一个值(16 + j,2),这是它对应的最后一个值。我需要的是,一旦满足条件,它会从该点继续,但将值输入到单元格(16 + j,3)中。

一旦满足条件,我可能会考虑“退出”,但无法弄清楚如何从中断的地方继续下一个单元格。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    按照你说的应该可以:

    Dim cont        As Integer
    
    cont = 2
    
    For j = 0 To 11
    For i = 0 To 91
    
        If Cells(2 + j, 2 + i) > 0 Then
        Cells(16 + j, cont) = Cells(1, 2 + i)
        cont = cont + 1
        End If
    
    Next i
    Next j 
    

    【讨论】:

    • 这种工作,但是当它进入下一行(+j)时,它不会回到第 2 行。见截图:oi57.tinypic.com/ael7wh.jpg
    • ^它不会返回到第 2 列*
    • 编辑:我已经解决了这个问题。我只是将“cont = 2”移到“For j = 0 to 11”之后。谢谢伊戈尔!
    猜你喜欢
    • 2018-11-30
    • 2021-07-26
    • 1970-01-01
    • 2017-03-09
    • 2022-01-22
    • 2022-12-12
    • 2019-02-27
    • 2019-05-08
    • 1970-01-01
    相关资源
    最近更新 更多