[算表] VBA找出哪一栏含有小写或空格

楼主: kcyy (嫑槑)   2019-02-04 14:49:13
软件:excel
版本:2010
例如要判断A1字段是否含小写字母或前后多余空格,使用EXCEL公式只要打上
=EXACT(A1,TRIM(UPPER(A1)))
不管是数字还是文字任何格式都可以正确判断
但是在VBA里面却遇到困难,使用下列判断时
format(Cells(1, 1))=trim(ucase(format(Cells(1, 1))))
大部分可以判断正确,
但是如果字段本身是数字,却已转换为文字格式,并且加上一个空格
VBA就判断不出左右两边有差异
请问要如何调整,
或者有其他更好的方法方法,用VBA正确判断出字段是否含小写字母或前后多余空格
并且字段中不管是数字还是文字或文字混数字都可以正确判断
谢谢
作者: soyoso (我是耀宗)   2019-02-04 15:08:00
如果 https://i.imgur.com/7Z6OVF0.jpg 连结内判断结果是正确的话 Cells(i, 1).Text = Trim(UCase(Cells(i, 1)))上面的变量是要测试连结内用的循环变量,请修改为1也可以用的工作表公式=exact(...),就以evaluate去包原公式
楼主: kcyy (嫑槑)   2019-02-04 15:12:00
感谢S大回复,预祝您新年快乐喔
作者: soyoso (我是耀宗)   2019-02-04 15:14:00
但原公式和宏内用的trim有点不太一样如果空格是在字串或数字内二个以上,宏内的trim是不会删除的,而工作表函数trim内的话则会删除保留一个所以这方面就要看那个才是原po要的,如是工作表函数才为正确的话,就以worksheetfunction.trim方式如不会出现或只会有一个空白字符的话,那连结内所举例的十个条件则会是一致的
楼主: kcyy (嫑槑)   2019-02-04 16:57:00
了解,感谢S大提醒

Links booklink

Contact Us: admin [ a t ] ucptt.com