求一段VBA代码

要求是当我在B列输入一个数时,A列的数会相对减少或增加。也就是A=A-B

我是feiyunpro

代码已经私信你了,真无语,发个代码还要审核。只好换这个号截图回答了。

好用的话就采纳这个号吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-13
if range("B"&i).value<>"" then
range("A"&i).value=int(range("A"&i).value)-int(range("B"&i)value)
end if追问

试过了,不行呀,是不是格式弄错了?

追答

你先给i赋值啊.

追问

不行呀,输入你给的代码时,中间那一行代码是红色的。然后在表格里输入数字,没有发生相应的变化。

追答

假如你要在第一行的话,就在代码前面,加上i=1,一次类推。

本回答被网友采纳
第2个回答  2012-08-13
Private Sub worksheet_change(ByVal Target As Range)
If Target.Column = 2 And Target.Count = 1 Then Range("A" & Target.Row) = Range("A" & Target.Row) - Target.Value
End Sub
按alt+f11
双击左侧的表名,在右侧粘贴以上代码即可。
回到表格中,只要B列输入数据就会有变化。
第3个回答  2012-08-13
工作表标签上单击右键,查看代码,粘贴如下代码即可

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then Target.Offset(0, -1) = Target.Offset(0, -1) - Target
End Sub
第4个回答  2012-08-13
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
b = ActiveCell.Address
a = Mid(b, InStr(2, b, "$") + 1)
Range("A" & a).Value = Int(Range("A" & a).Value) - Int(Range(b).Value)
End Sub追问

你这个也不行,没有反应的