Mo PTT
Office

[問題] EXCEL VBA滿足條件依序詢問並回傳數值

作者: jbear79810(原文連結)
軟體:EXCEL VBA 版本:2016 問題: 如何用VBA去檢視下列工作表中 當B欄位<=0時會跳出USERFORM1 然後有TEXTBOX讓你輸入O(圈)或X(叉)回傳至C欄位 而且是依序詢問 我的能力只到設條件然後只要TEXTBOX輸入O(圈) 只要B欄位是<=0的,C欄位就全部變成O(圈)... ※我是想要可以按照欄位依序詢問 從B1開始 B1<0,跳出請您輸入值 您輸入O(圈) C1欄位=O(圈) B2<0,跳出請您輸入值 您輸入X(叉) C2欄位=X(叉) ....依序跳出視窗詢問處理情形 直到碰到B欄位>0時停止這項工作 A B C(處理情形) 1 小明 -5 O(圈) 2 小華 -3 X(叉) 3 小美 0 O(圈) 4 小天 3 V(可以停止詢問) 第一次詢問如有觸犯版規 請告知後自行刪文

回應

10
soyoso以內文想法的話,迴圈於b欄並將變數(可為迴圈起始值、集合
soyoso的元素或迴圈內自訂的變數來累加)設為public,if判斷b欄的
soyoso值是否小於等於0,符合userform1.show,texebox方面以
soyosotextbox_change來觸發事件,如變數是集合的元素以range,
soyoso則直接range.offset,如是數值則以range(..)或是cells(..)
soyoso的方式來寫入textbox的值到c欄,unload userform1;另外"
soyoso直到碰到B欄位>0時停止這項工作"如果是指迴圈一旦判斷大於
soyoso0時,就跳出迴圈的話,那前述所說的變數也不用設為public
soyoso,直接設變數於textbox_change內來累加就好,跳出迴圈exit
soyoso for或exit do(就看是用哪一種)