首页 > 解决方案 > 循环以根据另一个单元格文本更改正数或负数

问题描述

一列有正数或负数或“不完整”。另一列,同一行有“是”或“否”。所有匹配的“是”数字应该是负数,所有匹配的“否”数字应该是正数。

我能够跳过“不完整”并更改值,但我更改了所有值。如果“是”数字已经是负数,则将其更改为正数。我阅读了其他帖子,修改了我的代码,现在我得到了“类型不匹配”。

Sub posneg()

    Dim cell As Range
    Dim pn As Range

    Set pn = rawday.Range(rawday.Range("A4"). _
    Offset(0, 42), rawday.Range("A4").Offset(0, 42).End(xlUp))

    For Each cell In pn
        If cell = "Incomplete" Then cell = ""

        ElseIf cell = "Yes" Then
            cell.Offset(0, -30) = Abs(cell.Offset(0, -30)) * -1
            cell.Offset(0, -30).Value = Abs(cell.Offset(0, -30)) * -1
        ElseIf cell = "No" Then
            cell.Offset(0, -30) = Abs(cell.Offset(0, -30)) * 1
            cell.Offset(0, -30).Value = Abs(cell.Offset(0, -30)) * 1
        End If       
    Next

End Sub

我希望所有匹配的“是”值都是负数,所有匹配的“否”值都是正数。谢谢!

我的大脑完全蒙上了一层阴影!我从“否”中删除了 *-1,值仍然为正。

标签: excelvbareturn-value

解决方案


推荐阅读