Chapter VBA | VBA006 英文字的大小寫轉換 |
Section |
在前一單元中我們介紹如何把英文不論是大寫(“EXCEL MARCO”)、小寫(“excel marco”)全部轉換成英文單字每一個單字第一個英文字母大寫(“Excel Marco”),可是很多人得用函數即可,寫巨集實在太難了,物不超所值。
在這個單元我們將介紹一個在香港上班學生的問題,公司有項規定:
1. 英文字若全部大寫轉換為第一個字母大寫,其餘字母小寫。
2. 英文字若第一個字母大寫,其實字母小寫的字全部轉為小寫。
3. 英文字若是全部小寫,則將其改變成全部大寫。
Option Explicit ‘現在儲存格的英文字轉換成第一個字母大寫 ‘註:Proper為工作表函數 ‘使用時需要在前面加上「WorksheetFunction.」 Sub Sample6() ‘但凡遇到錯誤,跳到「什麼也不做」標籤 On Error Goto DoNothing ‘在With和End With之間、所有的「.」為首屬性或方法 ‘也會以With之後的物件為本,應該可以使程式更精簡一些 With ActiveCell Select Case .Value ‘如果英文字大寫則換為第一個字母大寫 Case Ucase(.Value) .Value=WorksheetFunction.proper(.Value) ‘如果英文字第一個字母大寫,其餄小寫,則轉換為小寫 Case WorksheetFunction.proper(.Value) .Value=Lcase(.Value) ‘如果英文字小寫則換為大寫 Case Lcase(.Value) .Value=Ucase(.Value) ‘如果其他狀況則換為字母大寫 Case Else .Value=Ucase(.value) End Select End With ‘什麼也不做 DoNothing: End Sub |
開啟一個空白活頁簿。
按ALT+F11鍵,開啟並切換到VBA編輯器。
點取「插入 > 模組」指令。
輸入如下圖所示的程式碼(‘後面的說明文字可視需求決定是否要輸入)
關閉VBA編輯器視窗。
當我們框選B1到B3儲存格再執行SAMPLE6巨集,則會出現如下圖對話方塊。
留言列表