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

2024-07-30 11:49 更新

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

修改宏代碼的步驟

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

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

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

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

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

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

VBE窗口
VBE窗口

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

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

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

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

代碼窗口(參見(jiàn)上圖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)在開(kāi)始,讓我們注重于尋找下面兩個(gè)問(wèn)題的答案:如何閱讀宏代碼?如何修改宏代碼?

添加注釋

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

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

1、激活VBE窗口

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

3、將光標(biāo)往上移一行到空白處,并且添加如下注釋?zhuān)⒁馇懊嬗袉我?hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing text

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

5、將光標(biāo)往上移一行到空白處,并且添加如下注釋?zhuān)⒁馇懊嬗袉我?hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing numbers

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

7、將光標(biāo)往上移一行到空白處,并且添加如下注釋?zhuān)⒁馇懊嬗袉我?hào)(譯者:英文狀態(tài)下的
單引號(hào))
‘ Find and format cells containing formulas

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

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

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

.ColorIndex = 11 ' Sets the font color to Violet

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

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)