第一章 入门篇 1.20 Replace语句 Replace语句的功能相当于Excel菜单里的“替换”。该语句的语法是这样的: Range('要替换的区域').Replace(What、Replacement、LookAt、SearchOrder、MatchCase、MatchByte、SearchFormat、ReplaceFormat) 让我们来了解一下Replace的参数: Replace语句有两个必选参数What、Replacement,其它参数都是可选。 What 查找内容 Replacement 替换内容 LookAt: xlWhole 整个单元格匹配 xlPart 不要求整个单元格匹配 SearchOrder: xlByRows 按行搜索 xlByColumns 按列搜索 MatchCase 如果为True,则搜索区分大小写 MatchByte 如果为True,则区分全/半角 SearchFormat 查找格式 ReplaceFormat 替换格式 例句:
Sub replace() Range('a1:e6').replace what:=6800, replacement:=8000 '把表中数值为6800的单元格替换为8000 Range('a1:e6').replace what:='vba',replacement:='学习vba',MatchCase:=True '把表中的'vba'替换为'学习vba',如果不加MatchCase参数,默认不区分大小写,则'c1'、'c2'单元格的内容都会被替换。加上MatchCase:=True,则只替换'c2'单元格。 Range('a1:e6').replace what:='EXCEL',replacement:='EXCEL报表',matchbyte:=False '把表中的'EXCEL'替换为'EXCEL报表',其中'c3'单元格为全角。如果不加matchbyte参数,默认区分全/半角,则只替换'c4'单元格。加上matchbyte:=False,不区分全/半角,'c3'、'c4'单元格都会被替换。 Range('a1:e6').replace what:='语句',replacement:='代码',lookat: = xlWhole '把表中的'语句'替换为'代码'。如果不加lookat参数,默认为不要求整个单元格匹配,则'c5'单元格被替换为'代码','c6'单元格内容会变为'循环代码'。加上lookat: = xlWhole,要求整个单元格匹配,则'c6'单元格内容不会被替换。 End Sub 对于SearchFormat 查找格式和ReplaceFormat 替换格式这两个参数的应用,就相对比较麻烦一些。我们需要先设置好查找格式和替换格式,然后在replace语句里把SearchFormat 查找格式和ReplaceFormat 替换格式都设置为True,就可以进行替换了。 把下表中填充颜色为红色的单元格,替换为填充蓝色,内容不变:
Sub replace()
Range('a1:e6').replace what:='', replacement:='', searchformat:=True, ReplaceFormat:=True '把填充颜色为红色的单元格替换为蓝色,因为内容不用变化,所以what和replacement参数都为空。 End Sub 替换之后就是这个效果:
|
|