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

作者: jbear79810 (J熊)   2020-05-25 00:04:31
軟體: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(可以停止詢問)
第一次詢問如有觸犯版規 請告知後自行刪文
作者: soyoso (我是耀宗)   2020-05-25 03:06:00
以內文想法的話,迴圈於b欄並將變數(可為迴圈起始值、集合的元素或迴圈內自訂的變數來累加)設為public,if判斷b欄的值是否小於等於0,符合userform1.show,texebox方面以textbox_change來觸發事件,如變數是集合的元素以range,則直接range.offset,如是數值則以range(..)或是cells(..)的方式來寫入textbox的值到c欄,unload userform1;另外"直到碰到B欄位>0時停止這項工作"如果是指迴圈一旦判斷大於0時,就跳出迴圈的話,那前述所說的變數也不用設為public,直接設變數於textbox_change內來累加就好,跳出迴圈exitfor或exit do(就看是用哪一種)

Links booklink

Contact Us: admin [ a t ] ucptt.com