我试图使这个代码循环捕捉每一行有数据在它在我的excel文件。
下面的代码查看列L,如果列L中的单元格有"D"则同一行中H列的值将乘以-1。
此代码适用于L5和H5中的单元格,但我正在努力找出如何循环此,因此在这些单元格之后,它会查看L6和H6…然后继续循环,直到l列中没有更多的值,有人能帮我吗?我不擅长循环。代码如下。谢谢你! !
Sub NewCode()
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
If ws.Range("L5") = D Then
Else
ws.Range("H5") = ws.Range("H5") * -1
End If
End Sub
这应该是您正在寻找的。它从第5行迭代到l列中最后填充的单元格。
我认为你的If
语句是基于问题的主体而反转的,如果不是这种情况,只需将=
更改为<>
。
Sub NewCode()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim i As Long
With ws
For i = 5 To .Cells(Rows.Count, 12).End(xlUp).Row
If UCase(.Cells(i, 12).Value) = "D" Then
.Cells(i, 8).Value = .Cells(i, 8).Value * -1
End If
Next i
End With
End Sub