我有一个数字表,我想创建一个循环遍历每个宏的宏,并返回任何高于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)。
我认为可能是"退出"一旦它符合条件,但无法解决如何继续从它停止的下一个单元格。
答案 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