利用VBA程式解決Excel2010大量變更註解字型的問題

利用VBA程式解決Excel2010大量變更註解字型的問題

接續上篇文章解決Excel2010變更註解字型的問題,有使用者在Microsoft Answers提到:如何才能將已經建立好的多筆的儲存格註解一次進行字型的變更,而不用逐筆變更。

舉例以下工作表已經在數個儲存格中加入註解,如果要變更每一個儲存格的註解字型或相關格式,只能逐筆進行,無法以全部選取的方式,一鍵完成。這個需求在Excel2010並未提供,只能透過VBA巨集程式來達成。

image

所以我們的目標要建立一個可以一次將所有註解字型進行變更的VBA程式。

程式碼內容如下


'-----------
'作者:楊煥謀
'歡迎引用

Sub changefont()
Dim ob As Object
Dim obrange As Range
On Error Resume Next
Set obrange = Selection
For Each ob In obrange.Cells
ob.Comment.Shape.Select True
With Selection.Font
        .Name = "微軟正黑體"   '修改此字型名稱即可變更駐解字型

        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
'        .TintAndShade = 0
'        .ThemeFont = xlThemeFontNone
    End With
 With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlTop
        .ReadingOrder = xlContext
        .Orientation = xlUpward
        .AutoSize = False
        .AddIndent = False
    End With

Next





End Sub

這支程式可以將選取區中所有儲存格的註解字型變更為"微軟正黑體"  , 使用者只要修改此字型名稱即可變更駐解字型,為了讓使用者更清楚其作用,我加上一個格式設定,讓註解變成橫書垂直方向。

如何使用這支程式?

1.因為我們要在Excel內建的VBA IDE環境中加入巨集程式,所以首先要把『開發人員』功能區叫出來,因為在Excel2007開始將VBA IDE放置在『開發人員』功能區,而此功能區沒有放在使用預設的功能區之列,所以使用者必須執行『檔案』/『選項』

image

在『Excel選項』表單中,點選『自訂功能區』選項,在右邊『自訂功能區』選單勾選『開發人員』(預設沒有勾選)

image

勾選完按確定可以看到功能區中新增一個『開發人員』功能區。

image

2.再點選『開發人員』/『Visual Basic』,叫出VBA IDE

image

2.點選所在的Excel工作簿名稱的VBAProject,舉例本範例的工作簿名稱為"如何大量變更註解字型.xlsm",副檔名為.xlsm代表是含有巨集的工作簿。按右滑鼠右鍵,在突顯功能表中選取插入模組

image

3.打開新增的模組,將上述程式碼複製貼上即可。

image

4.將滑鼠游標移至程式碼中,按下執行按鈕進行測試即可。

image

5.測試的時候請註意:必須將所有要更改註解的儲存格選取,並將點選『校閱』/『註解』/『顯示所有註解』,將儲存格上的註解顯示出來,這樣才能確保處理的是註解字型而非儲存格字型。

image

6.執行的結果如下

image

7.特別注意此巨集程式沒有復原功能,建議先複製一份原稿再進行測試!

cool      歡迎引用,請注明來源出處!

作者:楊煥謀