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追问