Excel 2010 VBA 入门 036 替换所有的错误值

目录Range对象的Find方法参数省略表示法查找格式示例:实现代码使用Is Nothing判断对象是否初始化IsError函数SpeciaICells方法Find方法的一般形式CVErr函数Range对象的Find方法使用Range对象的Find方法可以实现批量查找符合条件的单元格。Find方法的语法如下:Rng.Find(What,[After],[Lookln],[lookAt],[SearchOrder],[SearchDirection],Ma
摘要由CSDN通过智能技术生成

目录

Range对象的Find方法

参数省略表示法

查找格式

示例:

实现代码

使用Is Nothing判断对象是否初始化

IsError函数

SpeciaICells方法

Find方法的一般形式

CVErr函数


Range对象的Find方法

使用Range对象的Find方法可以实现批量查找符合条件的单元格。Find方法的语法如下:

Rng.Find(What,[After],[Lookln],[lookAt],[SearchOrder],[SearchDirection],MatchCase],[MatchByte],[SearchFormat])

    其中,Rng为一个Range对象,表示需要执行查找方法的单元格区域,即指明查找的范围。各参数说明如下。

  • 参数What为所要查找的值。
  • 参数After为一个Range对象,表示查找的起始单元格。
  • 参数Lookln为查找的类型,可以为xIComments(批注)、xIFormulas(公式)或xIValues(值)。
  • 参数LookAt为单元格匹配方式,可以为xIWhole(匹配整个单元格)或xIPart(匹配部分)。
  • 参数SearchOrder为搜索的顺序,可以为xIByRows(按行查找)或xIByColumns(按列查找)。
  • 参数SearchDirection为搜索的方向,可以为xINext(查找下一个)或xIPrevious(查找上一个).
  • 参数MatchCase为大/小写匹配方式,True表示区分大小写,False表示不区分。
  • 参数MatchByte表示半/全角匹配方式,True表示区分半全角,False表不不区分。
  • 参数SearchFormat表示匹配格式,True表示要匹配格式,False表示无须匹配。

    Find方法的实质是对应单元格查找的基本操作,使用该方法查找单元格将会更改单元格查找对话框的各种设置。各参数对应的功能如图所示。

参数省略表示法

    Range的Find方法有许多参数。在执行该方法时,可以将参数添补完整,只需开启“自动列出成员”选项即可出现参数提示,并可根据粗体的提示逐个输入参数。
    当需要省略某些参数时,开发者可以不填写所有的参数,只需在各个参数表达式之间使用逗号分隔,使用以下表达式表示某个参数即可:

参数名称:=参数值

    使用该方法则不必遵循各个参数的固定位置。如本例省略了参数After,直接填写Lookln和LookAt,故使用以下表达式:

Find("#N/A",LookIn:=xlValues,LookAt:=xlWhole)

    使用此方法需注意以下两点。

  • 当直接写入参数值而未标明参数名称时,则参数值为其所在位置的参数的值。
  • 必须使用冒号(:)与等号(=)的组合来传递参数值,否则会发生错误。

查找格式

    当需要查找格式时,需要将SearchFormat参数设置为True,并且在执行Find方法之前需要对Application. Format对象进行格式的设置。该对象是一个只包含单元格格式设置的特殊对象,除了没有特殊的属性(如Value等)外,其余的格式属性与单元格的格式属性相同。因而,开发者可以通过录制宏的方式轻松获取格式设置代码。

示例:

    在Excel中,比较两张表的不同时经常采用Vlookup函数。如图所示,该表为某公司员工的工资单,现需要比较两个月的工资差异,在使用函数的过程中发生了错误值。经查得知,发生错误值的员工1月尚未入职,除了修改公式外,是否可以使用VBA批量替换这些错误值,使其更改为0 ?

姓名 部门 1月   姓名 部门 2月 查找1月工资
程建华 财务部 2875   程建华 财务部 2875 2875
李国敏 财务部 3050   李国敏 财务部 3050 3050
袁志刚 财务部 3523   袁志刚 财务部 3523 3523
周汉林 管理部 2890   周汉林 管理部 2890 2890
孙玉梅 管理部 2580   骈永富 管理部 2850 #N/A
陈亚菁 管理部 3460   孙玉梅 管理部 2580 2580
康小芸 管理部 1800   陈亚菁 管理部 3460 3460
刘晨 管理部 5318   康小芸
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值