close

Chapter VBA

VBA005 英文字的大小寫轉換

Section

假設我們常常需要把英文不論是大寫(“EXCEL MARCO”)、小寫(“excel marco”)全部轉換成英文單字每一個單字第一個英文字母大寫(“Excel Marco”)

一般我們習慣用UPPER()LOWER()PROPER()三個函數控制大大小寫,但若覺得很不方便,則肯定對本巨集有很大的興趣!

Option Explicit

現在儲存格的英文字轉換成第一個字母大寫

註:Proper為工作表函數

使用時需要在前面加上「WorksheetFunction.

Sub Sample5()

但凡遇到錯誤,跳到「什麼也不做」標籤

On Error Goto DoNothing

WithEnd With之間、所有的「.」為首屬性或方法

也會以With之後的物件為本,應該可以使程式更精簡一些

With ActiveCell

   Select Case .Value

如果英文字大寫則換為第一個字母大寫

       Case Ucase(.Value)

           .Value=WorksheetFunction.proper(.Value)

如果英文字小寫則換為第一個字母大寫

       Case Lcase(.Value)

           .Value=WorksheetFunction.proper(.Value)

   End Select

End With

什麼也不做

DoNothing:

End Sub

開啟一個空白活頁簿。

ALT+F11鍵,開啟並切換到VBA編輯器。

點取「插入 > 模組」指令。

輸入如下圖所示的程式碼(‘後面的說明文字可視需求決定是否要輸入)

image

關閉VBA編輯器視窗。

當我們框選A1儲存格再執行SAMPLE5巨集,則會出現如下圖對話方塊。

單字大寫調整為第一個字母大寫.

image ð image

單字小寫調整為第一個字母大寫.

image  ð image

由於沒寫判斷程式來了解是一個儲存格還是一個範圍要轉,故不管框一個儲存格或範圍,都是一個儲存格調整,其他儲存格原封不動。


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()