[算表] 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