首页 文章

根据另一个单元格值将加号更改为减号

提问于
浏览
0

请你们其中一个人帮助我使用以下代码 . 我在互联网上的某个地方想改变它,但没有赢,

如果F列中的值(与金额在同一行)是Debit-Outstanding,我希望第I列(从第9行)的金额更改为减去金额(借方金额) .

请看下面我找到的代码 .

Sub test()Dim rcel As range Dim Rng As range设置Rng =范围(ActiveCell,Cells(Rows.Count,_ ActiveCell.Column).End(xlUp))对于Rng中的每个rcel如果rcel.Value <>“”和rcel.Value> = 0然后rcel.Value = rcel.Value * -1结束如果下一个rcel结束Sub

我带来这部分来检查F栏的 Value

和Text.Offset(“ - 3,0”)=“Debit-Outstanding”

显然我并不像我想的那么聪明,需要更多的训练,ps:没有让4个空格代码块正确,感谢那个将再次为我修复它的人 . 任何帮助将在这项工作中受到赞赏 . 再次感谢

2 回答

  • 1

    尝试一下:

    Sub test()
        Dim rcel As Range
        Dim Rng As Range
        Dim rw As Long
        Set Rng = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp))
        For Each rcel In Rng
            With rcel
                rw = .Row
                If .Value <> "" And .Value >= 0 And Cells(rw, "F") = "Debit-Outstanding" Then
                    .Value = -.Value
                End If
            End With
        Next rcel
    End Sub
    
  • 2

    我认为VBA宏过于复杂,无法满足您的需求 .

    如果它是一次性的 - 只需创建另一个列,其中你有一个公式,如“= I9 *(IF(F9 =”Debit-Outstanding“, - 1,1)),复制到最后,然后复制值,删除计算列,就是这样 .

    如果“Debit-Outstanding”值可能会更改,或者您将添加数据,只需将上面带有公式的列合并到工作簿中,然后使用它而不是包含值的当前列 .

    希望有所帮助!

相关问题