軟體: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該怎麼寫呢?
懇請大大們解惑 謝謝