久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

分析及測(cè)試修改后的Excel宏代碼步驟

 黃*綠 2022-09-08 發(fā)布于廣西

分析宏代碼

所有宏過(guò)程都以關(guān)鍵詞“Sub”開(kāi)始,,以關(guān)鍵詞“End Sub”結(jié)束,。在關(guān)鍵詞“Sub”之后是宏的真正的名字,然后緊跟著是一對(duì)括號(hào),。在關(guān)鍵詞Sub 和End Sub之間是那些你每次運(yùn)行宏代碼時(shí)VB執(zhí)行的語(yǔ)句,。VB從上到下讀取語(yǔ)句,,忽略那些句前帶單引號(hào)的語(yǔ)句(參見(jiàn)上節(jié)關(guān)于注釋的內(nèi)容),讀到EndSub時(shí)停止,。請(qǐng)注意,,錄制的宏代碼里包含許多停頓(譯者:英文模式下的句號(hào))。每行代碼中都有停頓,,用來(lái)連接VBA語(yǔ)言中不同的要素,。如何閱讀這種語(yǔ)言的用法呢?要從最后一個(gè)停頓的右邊向左讀,??纯碬hatsInACell里的一些語(yǔ)句:

Range('A1:A3').Select

選擇A1到A3單元格

Selection.EntireRow.Insert


往選中的區(qū)域中插入行。因?yàn)榍懊婺氵x中的是三個(gè)單元格(譯者:應(yīng)該說(shuō)是占據(jù)了三行的單元格),,VB將插入三行,。

ActiveCell.FormulaR1C1 = 'Text'


往當(dāng)前單元格里輸入“Text”。因?yàn)?,之前的代碼是Range('B1').Select,,選擇單元格B1,,B1是當(dāng)前激活的單元格,所有VB往B1單元格里面輸入文本,。

With Selection.Interior


          .ColorIndex = 3


          

.Pattern = xlSolid


          

.PatternColorIndex = xlAutomatic


End With

這是一段特別的代碼塊,,解釋如下:給當(dāng)前選中的單元格設(shè)置單元格填充色為紅色(ColorIndex=3),設(shè)置填充模式為實(shí)心(xlSolid),,并且給當(dāng)前單元格明確為默認(rèn)的填充模式(xlAutomatic),。


這個(gè)代碼塊以關(guān)鍵詞With開(kāi)始,EndWith結(jié)束,,它將加速宏代碼的執(zhí)行。宏代碼知道走捷徑,,而不會(huì)每次都重復(fù)下面的說(shuō)明:

Selection.Interior.ColorIndex = 3


Selection.Interior.Pattern = xlSolid


Selection.Interior.PatternColorIndex = xlAutomatic


在關(guān)鍵詞With后面緊跟重復(fù)的Selection.Interior,,再以End With結(jié)尾。


 

清除宏代碼

你已經(jīng)逐行解析了你宏代碼,,你會(huì)發(fā)現(xiàn)Excel錄制了許多你并不想要包含進(jìn)去的信息,。例如,在選中了文本單元格后,,除了設(shè)置字體為粗體和顏色為紫色之外,,Excel 還錄制了其它在字體頁(yè)的選項(xiàng)——字體名稱(chēng),字體大小,,刪除線,,上標(biāo),下標(biāo),,陰影和下劃線,。請(qǐng)看下列代碼片斷:

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


如果你使用了對(duì)話框,Excel總會(huì)錄制所有的設(shè)定,。這些多余的代碼使得你的宏代碼冗長(zhǎng)而難以理解,。因此,你完成錄制宏后,,最好檢查一遍你錄制的代碼并刪除不必要的行,。

1、在下面的代碼中,,刪除帶刪除線的行:


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

清除后,,在關(guān)鍵詞With和End With之間只剩下了兩句代碼,這些才是你在錄制宏的時(shí)候真正做的設(shè)置:


With Selection.Font

          

.FontStyle = 'Bold'


          

.ColorIndex = 13


End With

2,、找到設(shè)置數(shù)字單元格格式的代碼,,依照下面的例子修改代碼:


' Find and format cells containing numbers


With Selection


          

.SpecialCells(xlCellTypeConstants, 1).Select


          

.Font.ColorIndex = 11 ' Sets the font color to Violet


End With


Range('C6').Select

3、找到設(shè)置公式單元格格式的代碼,,依照下面的例子修改代碼:


' Find and format cells containing formulas


Selection.SpecialCells(xlCellTypeFormulas, 23).Select


With Selection.Font


          

.FontStyle = 'Bold'


          

.ColorIndex = 3


End With

4,、找到下述兩行代碼:


Range('A1:A3').Select


Selection.EntireRow.Insert

5,、用下面的一句代碼取代上面的兩句代碼:


Range('A1:A3').EntireRow.Insert

注意,Excel使用了R1C1形式來(lái)設(shè)置選中單元格個(gè)公式:

ActiveCell.FormulaR1C1 = 'Text'


ActiveCell.FormulaR1C1 = 'Numbers'


ActiveCell.FormulaR1C1 = 'Formulas'

宏錄制器使用了一次“ActiveCell”和一次“Selection”來(lái)選擇當(dāng)前單元格,。這兩個(gè)詞都稱(chēng)為屬性,。你將在第二章里學(xué)習(xí)屬性。當(dāng)僅有一個(gè)單元格被選中時(shí),,你可以隨意使用“ActiveCell”或者“Selection”,。


測(cè)試修改好的宏

當(dāng)你修改宏的時(shí)候,很可能會(huì)帶入一些錯(cuò)誤,。例如,,你可能會(huì)刪除一行重要的代碼,或者可能不注意清除或忽略了一個(gè)逗點(diǎn)(停頓),。為了確保你的宏在你修改之后還能正確地工作,,你必須運(yùn)行它。在VBE窗口,,將光標(biāo)放在宏代碼WhatsInACell的任意行,,選擇“運(yùn)行”-“運(yùn)行模塊/窗體”


如果你在修改代碼的時(shí)候,沒(méi)有帶入任何問(wèn)題,,那么宏將順利運(yùn)行,,而不會(huì)有任何報(bào)錯(cuò)。你需要切換到Excel界面取看你的宏運(yùn)行的結(jié)果,。你可以點(diǎn)擊任務(wù)欄,,或者按Alt+F11回到Excel界面。

如果宏在運(yùn)行的過(guò)程中遇到錯(cuò)誤,,你將會(huì)看到一個(gè)對(duì)話框顯示發(fā)現(xiàn)的錯(cuò)誤類(lèi)型,。在你運(yùn)行宏命令之前,你必須確保你的宏可以在當(dāng)前激活的工作表里面運(yùn)行,。例如,,你當(dāng)前電腦上激活的時(shí)一個(gè)空的Excel工作表,你試圖運(yùn)行WhatsInACell,,這時(shí)你將看到一個(gè)錯(cuò)誤信息:“運(yùn)行時(shí)間錯(cuò)誤'1004’-找不到單元格”,。點(diǎn)擊“結(jié)束”按鈕,在你重新運(yùn)行宏之前,,確保選擇了正確的工作表,。

如果選擇的工作表只含有文本,你在運(yùn)行WhatsInACell的時(shí)候,,VB試圖選擇含有數(shù)字的單元格時(shí)會(huì)遇到同樣的“找不到單元格”的錯(cuò)誤,。

如果你忽略了WithSelection.Font中的逗點(diǎn),VB會(huì)出現(xiàn)“運(yùn)行時(shí)間錯(cuò)誤'424’-需要對(duì)象”的信息。點(diǎn)擊信息框上的“調(diào)試”按鈕,,你將進(jìn)到代碼窗口,。同時(shí),VB會(huì)進(jìn)入“中斷”模式,,并且將有問(wèn)題的行用黃色突出出來(lái),。在你更正代碼后,VB可能會(huì)彈出信息:“這個(gè)操作將會(huì)重置你的工程,,繼續(xù),?”點(diǎn)擊確定。盡管你可以在中斷模式修改代碼,,但是,,有些修改會(huì)終止宏的繼續(xù)執(zhí)行。更正宏代碼后,,重新運(yùn)行它,,也許你會(huì)需要解決更多的錯(cuò)誤,之后才能順利地運(yùn)行它,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多