VBA帮助-如果一个列包含一个特定的字母,使另一个列为负数,然后循环



我试图使这个代码循环捕捉每一行有数据在它在我的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

相关内容

最新更新