2013-10-08 76 views
0

请您可以帮助我们使用以下代码。我在互联网上的某个地方,想要改变它,但没有赢得,根据另一个单元格值更改为负数

我希望在第一栏(从第9行)改变为负数(借项金额)的数额,如果F列(将与金额位于同一行)是借记杰出的。

请参阅下面的代码,我发现。

子试验() 昏暗rcel作为范围 昏暗RNG作为范围设定 RNG =范围(ActiveCell,将细胞(Rows.Count,_ ActiveCell.Column).END(xlUp)) 对于每个rcel在RNG 如果rcel.Value <> “” 而rcel.Value> = 0。然后 rcel.Value = rcel.Value * -1 结束如果 接着rcel 结束子

和我带在该部分检查值F列

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

显然我不像我想象的那么聪明,需要更多的培训, ps:没有得到4空格代码块的东西对,谢谢那位将为我解决问题的人。 任何帮助将不胜感激得到这个工作。 再次感谢

回答

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 
+0

喜,让我对下面的线。价值= -.Value错误,感谢您的帮助 – user1955214

+0

没关系,没有选择正确的单元格,当我运行宏时,完美地工作,谢谢你的一切 – user1955214

2

我想VBA宏是过于复杂了你所需要的。

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

如果“Debit-Outstanding”值可能会发生变化,或者您将要添加数据,请将上述公式与上述公式结合到您的工作簿中,然后用这个来代替我包含值当前列。

希望帮助!

+0

谢谢你的回应,但最终的结果将转到一个数据透视表,我想尽可能地让它变得简单,任何人都可以使用,但会尝试出来,但其他电子表格。 – user1955214

相关问题