软件:Excel
版本:2007
大大们好 Excel知识微薄的我
最近帮公司表单用了类似现实中计算机key完后能自动加减且更新原始数据的功能
原先的各个产品明细为"横向式"
比方说我把产品的库存量放在B栏
我打数字进该产品的C栏(移出)后 B栏会减少
而打数字进该产品的D栏(移入)后 B栏会增加
因为要保留计算机一样"累加/累减"的机能 google后好像只能用VBA
摸索了一阵子后我用了百度解答的这个式子:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then Range("B" & Target.Row) = Val(Range("B" &
Target.Row)) - Val(Target)
If Target.Column = 4 Then Range("B" & Target.Row) = Val(Range("B" &
Target.Row)) + Val(Target)
End Sub
结果成功 跟我预期的效果一样
可是后来其他资料有的是纵向式(名称在上 各名细依序往下排)
因为表格同时也是位置图所以也不宜将资料转向
我试过将VBA上述的式子 Column 跟 Row 之间互换 想当然尔没有成功
我想应该是漏掉了什么重大观念
现在我想要的功能是 假设各个产品的库存 统一放在各栏的第三列
各栏的第四列为移出(打数字进去库存会减少) 第五列为移入(反之)
这样的话 VBA该怎么写呢?
恳请大大们解惑 谢谢