[算表] Excel VBA中的栏列(Column/Row)问题

楼主: guets (guets)   2015-05-26 17:45:54
软件: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该怎么写呢?
恳请大大们解惑 谢谢
作者: soyoso (我是耀宗)   2015-05-26 18:31:00
https://goo.gl/nPXvjm 类似要这样吗?改用cells
楼主: guets (guets)   2015-05-26 19:01:00
谢谢 好像可以 可以另外问一下 像这种程度的VBA想自学的话有推荐的书籍吗? 之前考MOS证照念的那本感觉只能死应付考试
作者: soyoso (我是耀宗)   2015-05-26 21:59:00
市面上为宏VBA的书籍不少,各有千秋,有点难推荐,不过我看了一下购入书籍的出版社,比例上是以博硕及旗标为多有机会原po到书店可以留意一下
楼主: guets (guets)   2015-05-27 10:35:00
好的 我会再去看看 感谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com