我目前在excel上使用VBA
,我真的需要一些帮助。
如下图所示,我实际上是在尝试检查所有单元格的特定值(2090)&如果在该行中找到2090,则输出“1”,否则输出“0”。此输出将在第25列&与数字所在的行相同。
我做了一些测试&我知道我的代码在遇到2090并输出正确的位置时确实输出“1”等。但是,在输出“1”之后,它会立即再次与“0”重叠。因此,我相信即使If语句为true,else情况也在运行。在执行结束时,我的整个列只产生了一堆“1”而没有别的。
我很感激对此有任何帮助!谢谢。
Sub New()
Dim i As Integer, j As Integer, Needed As Integer
Needed = 2090
For i = 1 To 10
For j = 1 To 20
If Cells(i, j).Value = Needed Then
Cells(i, 25).Value = "1"
Else
Cells(i, 25).Value = "0"
End If
Next j
Next i
End Sub
答案 0 :(得分:5)
如果Cells(2, 10)
符合您的条件,Cells(2, 25)
将设置为1
,但会立即开始测试Cells(2, 11)
是否符合您的条件,如果符合您的条件不会被Cells(2, 25)
覆盖0
。
最终结果将始终取决于第20栏中的内容。
如果条件评估为真,你需要打破内循环。