看板 Office 關於我們 聯絡資訊
軟體: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(可以停止詢問) 第一次詢問如有觸犯版規 請告知後自行刪文 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.155.46 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1590336273.A.13B.html
soyoso: 以內文想法的話,迴圈於b欄並將變數(可為迴圈起始值、集合 05/25 03:06
soyoso: 的元素或迴圈內自訂的變數來累加)設為public,if判斷b欄的 05/25 03:06
soyoso: 值是否小於等於0,符合userform1.show,texebox方面以 05/25 03:06
soyoso: textbox_change來觸發事件,如變數是集合的元素以range, 05/25 03:06
soyoso: 則直接range.offset,如是數值則以range(..)或是cells(..) 05/25 03:06
soyoso: 的方式來寫入textbox的值到c欄,unload userform1;另外" 05/25 03:06
soyoso: 直到碰到B欄位>0時停止這項工作"如果是指迴圈一旦判斷大於 05/25 03:06
soyoso: 0時,就跳出迴圈的話,那前述所說的變數也不用設為public 05/25 03:06
soyoso: ,直接設變數於textbox_change內來累加就好,跳出迴圈exit 05/25 03:06
soyoso: for或exit do(就看是用哪一種) 05/25 03:06