【求助】Excel VBA: 如何讓 Cell 自動增值?



贊助商連結


jute
2003-09-11, 12:16 AM
假設我有 A、B 兩個 cell:

我想達成的目的是, 在 A Cell 輸入任何數字, B Cell 就會自動將 A 加入自己原有的值, 例:

B = 2, 我在 A 輸入 '3', B 就自動變成 5

如果我直接在 B 的 formula 欄輸入 '=B+A', 會出現 Circular Reference Error (我的是英文版, 不知道中文怎麼翻)...

有什麼辦法嗎? 還是這題無解? :confused:

贊助商連結


leonchou
2003-09-11, 02:06 AM
那個error應該是叫「循環參照」.

來寫一個Worksheet_Change事件 --
在工作表標籤上按右鍵 → 檢視程式碼 → 貼上這巨集:
Private Sub Worksheet_Change(ByVal Target As Range)
Set a = Target.Cells(1, 1)
If a.Column > 1 Then Exit Sub
a.Offset(0, 1) = a.Offset(0, 1) + a
End Sub

可參考這篇
http://gb.twbts.com/bbs1.php?BBS_Kind=oexcel&titleid=99

jute
2003-09-11, 09:33 AM
原來這麼簡單啊! :eek:
是我之前想得太複雜了, 完全沒想到可利用 Worksheet_Change event

受教了, 感謝 Leon 兄 :)