[問題] VBA 自動累加

看板Office作者 (阿軒)時間13年前 (2013/06/19 10:36), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/2 (看更多)
軟體:EXCEL 版本:2003 小弟是VBA初學者,最近在做一張表時,想要讓他在C1輸入數字D1就會自動累加, 我自己輸入了內容如下: For Each A In Range("C1:C10") A.Offset(0, 1) = A + A.Offset(0, 1) Next 這樣的內容,在單獨執行上OK,在C欄輸入完數字再按執行,D欄就能累加, 但當我把Worksheet的執行方式改成『change』時,再使用上面的語法, 只要C1一輸入數字,就會變成了D1的數字會一直增加的無限迴圈。 後來上網看到有一個語法: Set A = Target.Cells(1, 1) If A.Column > 1 Then Exit Sub A.Offset(0, 1) = A.Offset(0, 1) + A 這樣一來的確是能在A欄輸入數字,B欄就會自動累加進去,但我想要使用的欄位在『C』, 所以我試著把 Target.Cells改成(1,3),可是改完之後,在C欄輸入數字, D欄卻一點反應也沒有… 希望版上的高手們能給小弟一點建議,看要如何修改才能正確的執行,謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.191.243

06/19 15:14, , 1F
Target.Cells(1,1)跟Cells(1,1)是不一樣的概念..
06/19 15:14, 1F

06/19 15:17, , 2F
Cells(1,1)是A1, 但是假設你的Target範圍是Range("A2:D3")
06/19 15:17, 2F

06/19 15:17, , 3F
那麼Target.Cells(1,1)就會是A2了
06/19 15:17, 3F
文章代碼(AID): #1HmHb0tL (Office)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #1HmHb0tL (Office)