在单独的单元格中继续下一个循环

时间:2015-02-26 14:25:58

标签: excel vba excel-vba

我有一个数字表,我想创建一个循环遍历每个宏的宏,并返回任何高于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

我希望它返回列标题。因此,在该示例中,我希望它返回第2行的值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)。

我认为可能是"退出"一旦它符合条件,但无法解决如何继续从它停止的下一个单元格。

1 个答案:

答案 0 :(得分: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