修改Excel宏代碼及添加注釋的步驟

2024-07-30 11:49 更新

可能在錄制宏的時(shí)候,我們選擇了錯(cuò)誤的字體,可能是忘記改變單元格顏色,又或者你臨時(shí)發(fā)現(xiàn)最好加上一個(gè)步驟。這個(gè)時(shí)候不必驚慌。Excel是允許你修改代碼的,而不會(huì)強(qiáng)迫你重新錄制那些單調(diào)的操作。

修改宏代碼的步驟

你必須知道你的宏代碼放在哪里,你才能找到并修改它?;叵肽愦蜷_宏錄制器的時(shí)候,你選擇了“當(dāng)前工作簿”作為存儲(chǔ)地址。最容易找到宏的方法是打開宏對(duì)話框,如圖下圖所示。

宏對(duì)話框
宏對(duì)話框

1、選擇“工具”-“宏”

2、選擇宏名(本例中為WhatsInACell)

3、點(diǎn)擊“編輯”按鈕

Excel 打開一個(gè)專門的窗口,叫做VisualBasicEditor(VBE)如下圖所示。利用快捷鍵Alt+F11
可快速地在Excel表格界面和代碼窗口切換。選擇VBE菜單上的關(guān)閉選項(xiàng)可以關(guān)閉VBA代碼窗口,返
回到電子表格界面。

VBE窗口
VBE窗口

代碼窗口暫時(shí)看上去有些令人迷惑,不必?fù)?dān)心。只要你開始錄制宏,以及嘗試寫一些代碼,你終將了解所有的組件?,F(xiàn)在,看一下代碼窗口的菜單和工具欄。這兩個(gè)工具欄和Excel 窗口的菜單完全不同。代碼窗口的菜單和工具包含一些編程和測(cè)試代碼所需要的工具。只要你徹底地學(xué)習(xí)本書的每一章,你就會(huì)成為使用這些工具的專家。

VBE窗口的主要部分是多個(gè)窗口的集合界面,這些窗口在你創(chuàng)建和測(cè)試VBA過程的時(shí)候是及其有用
 的。在上圖VBE窗口中顯示了三個(gè)集合在一起的窗口:工程窗口,屬性窗口和代碼窗口。工程窗口顯示一個(gè)開
啟的模塊文件夾,在這里,模塊1被選中了。Excel 錄制你在工作表里的操作叫做模塊1,模塊2,等等。在本手冊(cè)接下來的章節(jié)里,你將利用模塊來編寫你自己的過程代碼。

模塊類似于Word中的一個(gè)空白文檔。儲(chǔ)存每個(gè)單獨(dú)模塊的文件夾稱為“模塊”

技巧:宏還是過程?
宏是通過內(nèi)置宏錄制器錄制的,或者在VB編輯器里手動(dòng)輸入的一系列指令或函數(shù)。從Excel 5.0開始,“宏”經(jīng)常被“過程”這個(gè)更廣的概念所代替。盡管這兩個(gè)詞可以交替互換使用,但是,許多編程者更喜歡“過程”。雖然宏可以讓你模仿鍵盤操作,真正的過程則還可以執(zhí)行一些不能通過鼠標(biāo),鍵盤或者菜單來做的操作。換句話說,過程是一個(gè)更復(fù)雜的宏,它結(jié)合了傳統(tǒng)編程語言的言語結(jié)構(gòu)。

代碼窗口(參見上圖VBE窗口)顯示了下列由宏錄制器錄制的代碼:

Sub WhatsInACell()
'
' WhatsInACell Macro
' Macro recorded 5/31/2002 by Julitta Korol
' Indicates the contents of the underlying cells: text, numbers, formulas.
'
        Selection.SpecialCells(xlCellTypeConstants, 2).Select
        With Selection.Font
                  .Name = "Arial"
                  .FontStyle = "Bold"
                  .Size = 10
                  .Strikethrough = False
                  .Superscript = False
                  .Subscript = False
                  .OutlineFont = False
                  .Shadow = False
                  .Underline = xlUnderlineStyleNone
                  .ColorIndex = 13
        End With
        Range("B6").Select
        Selection.SpecialCells(xlCellTypeConstants, 1).Select
        With Selection.Font
                  .Name = "Arial"
                  .FontStyle = "Regular"
                  .Size = 10
                  .Strikethrough = False
                  .Superscript = False
                  .Subscript = False
                  .OutlineFont = False
                  .Shadow = False
                  .Underline = xlUnderlineStyleNone
                  .ColorIndex = 11
        End With
        Range("C6").Select
        Selection.SpecialCells(xlCellTypeFormulas, 23).Select
        With Selection.Font
                  .Name = "Arial"
                  .FontStyle = "Bold"
                  .Size = 10
                  .Strikethrough = False
                  .Superscript = False
                  .Subscript = False
                  .OutlineFont = False
                  .Shadow = False
                  .Underline = xlUnderlineStyleNone
                  .ColorIndex = 3
        End With
        Range("A1:A3").Select
        Selection.EntireRow.Insert
        Range("A1").SelectWith Selection.Interior
                  .ColorIndex = 13
                  .Pattern = xlSolid
                  .PatternColorIndex = xlAutomatic
        End With
        Range("B1").Select
        ActiveCell.FormulaR1C1 = "Text"
        Range("A2").Select
        With Selection.Interior
                  .ColorIndex = 5
                  .Pattern = xlSolid
                  .PatternColorIndex = xlAutomatic
        End With
        Range("B2").Select
        ActiveCell.FormulaR1C1 = "Numbers"
        Range("A3").Select
        With Selection.Interior
                  .ColorIndex = 3
                  .Pattern = xlSolid
                  .PatternColorIndex = xlAutomatic
        End With
        Range("B3").Select
        ActiveCell.FormulaR1C1 = "Formulas"
        Range("B4").Select
End Sub

從現(xiàn)在開始,讓我們注重于尋找下面兩個(gè)問題的答案:如何閱讀宏代碼?如何修改宏代碼?

添加注釋

看一下錄制的宏代碼,請(qǐng)注意那些開頭帶單引號(hào)的行。這些行就是注釋。注釋默認(rèn)顯示為綠色。執(zhí)行宏代碼時(shí),VB會(huì)忽略這些注釋行。注釋經(jīng)常和宏代碼放在一起,來整理那些意義不甚明顯的語句。

現(xiàn)在,我們來給宏WhatsInACell 添加注釋。

1、激活VBE窗口

2、在Selection.SpecialCells(xlCellTypeConstants,2).Select前面點(diǎn)擊一下,將光標(biāo)移至該
語句開頭,回車

3、將光標(biāo)往上移一行到空白處,并且添加如下注釋,注意前面有單引號(hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing text

4、在Selection.SpecialCells(xlCellTypeConstants,1).Select前面點(diǎn)擊一下,將光標(biāo)移至該語句開頭,回車

5、將光標(biāo)往上移一行到空白處,并且添加如下注釋,注意前面有單引號(hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing numbers

6、在Selection.SpecialCells(xlCellTypeFormulas,23).Select前面點(diǎn)擊一下,將光標(biāo)移至該
語句開頭,回車

7、將光標(biāo)往上移一行到空白處,并且添加如下注釋,注意前面有單引號(hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing formulas

8、在Range("A1:A3").Select前面點(diǎn)擊一下,將光標(biāo)移至該語句開頭,回車

技巧:關(guān)于注釋
在VBE代碼窗口里,以單引號(hào)開頭的都是注釋。注釋的默認(rèn)顏色是綠色??梢酝ㄟ^“選項(xiàng)”對(duì)話框(“工具”-“選項(xiàng)”-“編輯器格式”)更改注釋顏色。注釋也可以寫在代碼的后面。

例如,在語句.ColorIndex = 11之后添加注釋。點(diǎn)擊該語句句末,按下Tab鍵,輸入單引號(hào),然后輸入注釋。
顯示如下:

.ColorIndex = 11 ' Sets the font color to Violet

注釋除了給用戶提供代碼目的信息之外,沒有任何作用。請(qǐng)別忘記給你的代碼寫上注釋。如果你幾個(gè)月后還要回到你的代碼,那么注釋將幫你大忙。同樣,注釋可以使別人很快理解你的程序。

9、將光標(biāo)往上移一行到空白處,并且添加如下注釋,注意前面有單引號(hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘Create legend
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)