字母轉換就是大寫字母轉換為小寫,小寫字母轉換為大寫,如果英文字母有26個小寫和26個大寫,綜合就是52個字母。
其實,符号性文字和表意文字比起來,優點是方便了許多,缺點嘛,失去了文化載體的價值。
英文有沒有必要學?這是個廣泛讨論的話題,甚至上升到一個民族興旺與失敗的地步,感覺是很大的一件事情。
總得來說,語言隻是一個工具,人具有學習創造和使用工具的能力。
那麼就有必要來學習和使用,但不是所有人。
如果強行讓所有人來學習,那麼這就是一件十分重要的事情。
至于多麼重要,這裡不讨論,有一點要說明的是,如果沒有學習過英文,或者不知道英文大小寫是什麼東西,那麼就沒有必要學習編程或者本節内容。
VBA中轉換大小寫已經有自定義的函數,隻需要應用就可以,我們不讨論,這裡給出此兩個函數,供需要的人學習。
小寫轉大寫:UCase(String)
大寫轉小寫:LCase(String)
本節重點講如果實現小寫轉換的整個底層邏輯和過程,看上去有點深度,但并不複雜。
xi = VBA.Len(VBA.Trim(xArr(0)))
xV = VBA.CStr(VBA.Trim(xArr(0)))
For i = 1 To xi
xss = VBA.Mid(xV, i, 1)
xAsc = Asc(xss)
If xAsc >= 97 And xAsc <= 122 Then
xStr = xStr & VBA.Chr(xAsc - 32)
Else
xStr = xStr & xss
End If
Next i
R.Value = xStr
Exit Sub
其思想就是對,單元格内字符串的每一個字符進行判斷,如果是字母就轉換,如果不是就不用處理,最後把轉換的結果保存到表格裡。
一句話概括的内容,就是這樣。
其中,字符判斷的依據是ASCII碼,根據ASCII碼來對大小寫字母轉換。
A~Z大寫字母ASCII碼為:65~90
a~z小寫字母ASCII碼為:97~122
其它字符不用操作直接保存,此過程當中,應用了許多變量,由于針對不确定單元格進行字符轉換,所以要對每一個單元格進行值提取,然後進行循環比較,所以,一些相關的循環嵌套邏輯就有點麻煩。
如果掌握了數組的概念,應用起來還是比較方便的。
這樣就回到一個很大的問題面前,學英文究竟有沒有用?
看了如上代碼,似乎還有點用。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!