作者jbear79810 (J熊)
看板Office
标题[问题] EXCEL VBA满足条件依序询问并回传数值
时间Mon May 25 00:04:31 2020
软体: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://webptt.com/cn.aspx?n=bbs/Office/M.1590336273.A.13B.html
1F:→ soyoso: 以内文想法的话,回圈於b栏并将变数(可为回圈起始值、集合 05/25 03:06
2F:→ soyoso: 的元素或回圈内自订的变数来累加)设为public,if判断b栏的 05/25 03:06
3F:→ soyoso: 值是否小於等於0,符合userform1.show,texebox方面以 05/25 03:06
4F:→ soyoso: textbox_change来触发事件,如变数是集合的元素以range, 05/25 03:06
5F:→ soyoso: 则直接range.offset,如是数值则以range(..)或是cells(..) 05/25 03:06
6F:→ soyoso: 的方式来写入textbox的值到c栏,unload userform1;另外" 05/25 03:06
7F:→ soyoso: 直到碰到B栏位>0时停止这项工作"如果是指回圈一旦判断大於 05/25 03:06
8F:→ soyoso: 0时,就跳出回圈的话,那前述所说的变数也不用设为public 05/25 03:06
9F:→ soyoso: ,直接设变数於textbox_change内来累加就好,跳出回圈exit 05/25 03:06
10F:→ soyoso: for或exit do(就看是用哪一种) 05/25 03:06