[算表] 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