精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Excel VBA解讀(51):替換——Replace方法

 

Excel VBA解讀(41)中,我們講解了Find方法,對應(yīng)于Excel中的“查找與替換”對話框中的“查找”選項卡。在本文中,我們將講解Replace方法,對應(yīng)于“查找與替換”對話框中的“替換”選項卡。

“替換”選項卡在“查找”選項卡的基礎(chǔ)上增加了“替換為”組合框和“替換”、“全部替換”2個按鈕,如下圖所示。

使用“替換”功能,可以將指定單元格區(qū)域中查找到的滿足某條件的內(nèi)容替換為指定的值。如下圖所示的工作表,在單元格區(qū)域A1:C5中有很多空單元格,我們利用替換功能,將空單元格全部替換為0,即在“替換為”組合框中輸入0,單擊“全部替換”按鈕。

以上替換瞬間完成!想像一下,如果在成千上萬的數(shù)據(jù)中執(zhí)行這種替換操作,那是多么方便啊!正如在上文圖中所看到的,使用“替換”功能時,實際上同時使用了“查找”功能,并且有很多選項可以讓我們選擇,以執(zhí)行更精確的替換。

 

現(xiàn)在,讓我們打開宏錄制器,錄制上述操作后的代碼如下:

Sub Macro1()

'

' Macro1 Macro

'

 

'

    Cells.Replace What:='',Replacement:='0', LookAt:=xlPart, SearchOrder:= _

        xlByRows, MatchCase:=False,SearchFormat:=False, ReplaceFormat:=False

End Sub

 

可以看出,Replace方法的語法如下:

Find方法中,我們已經(jīng)解釋過了部分參數(shù),下面再簡單地進行說明:

  • 參數(shù)What是必須的,指定想要搜索的字符串。上例中,設(shè)置該參數(shù)為空,即What:=””

  • 參數(shù)LookAt可選,可以是以下xlLookAt常量之一:xlPart代表匹配搜索文件的任一部分(為默認值),xlWhole代表完全匹配搜索文本。

  • 參數(shù)SearchOrder可選,指定搜索順序,可以是以下xlSearchOrder常量之一:xlByRows(以行的方式搜索,默認值)或xlByColumns(以列的方式搜索)。

  • 參數(shù)MatchCase可選,設(shè)置為True表明搜索時區(qū)分大小寫,默認值為False

  • 參數(shù)MatchByte可選,是否區(qū)分全角或半角,在選擇或安裝了雙字節(jié)語言時使用。若該參數(shù)為True,則雙字節(jié)字符僅與雙字節(jié)字符相匹配;若該參數(shù)為False,則雙字節(jié)字符可匹配與其相同的單字節(jié)字符。

  • 參數(shù)SearchFormat可選,是否搜索由FindFormat對象指定的格式。

下面是不同于Find方法的參數(shù):

  • 參數(shù)Replacement是必須的,指定要替換掉What參數(shù)指定內(nèi)容的字符串。上例中指定的是0,即用0替換掉空單元格,設(shè)置Replacement:=”0”

  • 參數(shù)ReplaceFormat可選,是否替換由ReplaceFormat對象指定的格式。

下圖為“替換”對話框中各參數(shù)表示的對應(yīng)的項。

 

說明

  • 每次使用該方法時,都會存儲LookAtSearchOrderMatchCaseMatchByte的設(shè)置。如果在下次調(diào)用該方法時沒有指定這些參數(shù)的值,將使用先前存儲的值。設(shè)置這些參數(shù)將修改“查找和替換”對話框中的設(shè)置,在“查找和替換”對話框中修改設(shè)置會改變已使用的存儲的值。因此,要避免這些問題,最好每次使用該方法時顯式地設(shè)置這些參數(shù)。

  • 使用這個方法不會改變選擇區(qū)域或者活動單元格。

 

示例1:用不同的值同時替換不同的區(qū)域

如下圖所示的工作表,需要將單元格區(qū)域A1:B5中的大寫字母“A”替換成“MM”,同時將單元格區(qū)域C1:D5中的“完美Excel”替換成“excelperfect”。

代碼如下:

Sub testReplace1()

    Range('A1:B5').ReplaceWhat:='A', Replacement:='MM', MatchCase:=True

    Range('C1:D5').ReplaceWhat:='完美Excel', Replacement:='excelperfect'

End Sub

運行后的結(jié)果如下圖。

在代碼中,設(shè)置參數(shù)MatchCase:=True,表明要區(qū)分大小寫,否則小寫字母a也會被替換。

擴展在了解更多VBA知識后,可以將區(qū)域設(shè)置動態(tài)的,并且可以根據(jù)條件設(shè)置更多的區(qū)域,分別替換不同的值,從而使代碼更靈活。

 

示例2:替換格式

如下圖所示的工作表,我們根據(jù)不同的內(nèi)容對格式進行不同的操作。

將加粗格式的單元格變?yōu)榧t色斜體字。代碼如下:

Sub testReplace2()

     With Application.FindFormat.Font

        .FontStyle = '加粗'

    End With

   

    With Application.ReplaceFormat.Font

        .FontStyle = '加粗 傾斜'

        .Color = 255

    End With

   

    Cells.Replace What:='',Replacement:='', _

        SearchFormat:=True, _

        ReplaceFormat:=True

 

End Sub

執(zhí)行代碼后的效果如下圖。

將內(nèi)容為“完美Excel”且加粗格式的單元格變?yōu)榧t色斜體字。代碼如下:

Sub testReplace3()

     With Application.FindFormat.Font

        .FontStyle = '加粗'

    End With

   

    With Application.ReplaceFormat.Font

        .FontStyle = '加粗 傾斜'

        .Color = 255

    End With

   

    Cells.Replace What:='完美Excel',Replacement:='', _

        SearchFormat:=True, _

        ReplaceFormat:=True

End Sub

執(zhí)行代碼后的效果如下圖。

 

仔細觀察上述代碼并對比執(zhí)行后的效果,好好體會Replace方法的原理。

 

說明

  • 在上面的代碼中,我們看到了兩個新的屬性,分別是Application對象的FindFormat屬性和ReplaceFormat屬性。利用這兩個屬性,配合Replace方法的參數(shù)SearchFormat和參數(shù)ReplaceFormat設(shè)置為True,來搜索滿足條件的格式并將其用相應(yīng)的格式替換。

  • 如果只需要替換格式,那么應(yīng)將參數(shù)What和參數(shù)Replacement都設(shè)置為空。

 

--------------------------------------

 

如果您對本文介紹的內(nèi)容還有什么好的示例,歡迎發(fā)送郵件給我:xhdsxfjy@163.com

也可以在本文下方留言,提出您的看法或建議。

本文屬原創(chuàng)文章,轉(zhuǎn)載請聯(lián)系我或者注明出處。

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
學(xué)習(xí)VBA,報表做到飛 第一章 入門篇 1.20 Replace語句
Excel之VBA常用功能應(yīng)用篇:如何按文字格式查找替換工作表內(nèi)容
VBA小技巧12:查找正確的格式
查找某行第一個或最后一個紅色的單元格 | VBA實例教程
按格式查找工作表 | VBA實例教程
Excel VBA常用對象
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 平乐县| 施甸县| 城口县| 涿州市| 陆河县| 石景山区| 彩票| 溆浦县| 阜南县| 绵阳市| 昆山市| 唐海县| 开封市| 泸溪县| 郁南县| 贵州省| 新河县| 行唐县| 临海市| 沁阳市| 咸丰县| 龙口市| 石台县| 竹溪县| 九江县| 万年县| 马鞍山市| 邵武市| 密山市| 新竹县| 大余县| 霍林郭勒市| 西充县| 鸡东县| 绥德县| 平舆县| 磐石市| 白银市| 象州县| 龙山县| 蓬安县|