作者kcyy (嫑槑)
看板Office
标题[算表] VBA找出哪一栏含有小写或空格
时间Mon Feb 4 14:49:13 2019
软体:excel
版本:2010
例如要判断A1栏位是否含小写字母或前後多余空格,使用EXCEL公式只要打上
=EXACT(A1,TRIM(UPPER(A1)))
不管是数字还是文字任何格式都可以正确判断
但是在VBA里面却遇到困难,使用下列判断时
format(Cells(1, 1))=trim(ucase(format(Cells(1, 1))))
大部分可以判断正确,
但是如果栏位本身是数字,却已转换为文字格式,并且加上一个空格
VBA就判断不出左右两边有差异
请问要如何调整,
或者有其他更好的方法方法,用VBA正确判断出栏位是否含小写字母或前後多余空格
并且栏位中不管是数字还是文字或文字混数字都可以正确判断
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.223.124.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1549262957.A.124.html
2F:→ soyoso: 正确的话 Cells(i, 1).Text = Trim(UCase(Cells(i, 1))) 02/04 15:09
3F:→ soyoso: 上面的变数是要测试连结内用的回圈变数,请修改为1 02/04 15:09
4F:→ soyoso: 也可以用的工作表公式=exact(...),就以evaluate去包原公 02/04 15:12
5F:→ soyoso: 式 02/04 15:12
6F:→ kcyy: 感谢S大回覆,预祝您新年快乐喔 02/04 15:12
7F:→ soyoso: 但原公式和巨集内用的trim有点不太一样 02/04 15:14
8F:→ soyoso: 如果空格是在字串或数字内二个以上,巨集内的trim是不会删 02/04 15:16
9F:→ soyoso: 除的,而工作表函数trim内的话则会删除保留一个 02/04 15:17
10F:→ soyoso: 所以这方面就要看那个才是原po要的,如是工作表函数才为正 02/04 15:18
11F:→ soyoso: 确的话,就以worksheetfunction.trim方式 02/04 15:19
12F:推 soyoso: 如不会出现或只会有一个空白字元的话,那连结内所举例的十 02/04 15:22
13F:→ soyoso: 个条件则会是一致的 02/04 15:22
14F:→ kcyy: 了解,感谢S大提醒 02/04 16:57