作者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/m.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