打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA 8.39公式错值隐藏不满意 那就直接清空或单独标记

公式错值隐藏不满意 那就直接清空或单独标记


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


上一节,也就是Excel VBA 8.38玩转Excel公式 VBA让错值不可见,我们学习了如何利用Excel VBA来隐藏单元的公式,当然并不是所有的都隐藏,仅仅是隐藏错值的公式,这样就可以让数据表看起来更加的美观,也符合领导的要求。

但是有小伙伴们就表示,虽然让公式错值不可见,从数据整体外观上来看,是清新了很多,但是对于后期数据的核查筛选以及汇总来说,依然存在很大的不方便,错值还是错值,还是没有办法参与运算,并且有时候需要单独看看这些错值是哪里错,不可见之后,反而不方便看了。

看来不同的场景对于错值的要求又是不同的,那么我们来看看今天的场景,既然错值会影响数据的计算,那么我们是否可以直接将错值进行批量的替换呢?比方说错值替换为空值?为了计算的方便,那么我们也可以将错值直接替换成为0,这样就可以参与计算了,这样是不是会方便一点呢?

场景说明

这样的操作场景,确实是我们上节没有考虑到的结果,那么我们今天继续来实现这个场景需要

这是我们有修改了一下之后的场景,上面小伙伴反馈的情况确实是有一定的影响的,数据没有办法进行二次计算,虽然错值不可见,但是一些相关的计算还是没有办法计算,那么我们今天来讲这些错值转化成为0,这样就不会影响公式的计算了。

当然我们这里也是要说明一下,并不是说将错值替换是最佳的方法,只是场景的不同,我们需要针对错值进行不同的处理,比方说今天的场景,因为要求涉及到数据的计算,错值无法参与计算,所以我们需要将错值替换为0,换个角度出发,如果哪天我们需要重新进行计算的时候,这些原本被替换的单元格,又需要重新写公式,这个工作量也是很大的,具体哪种方法更好,我们要更根据实际的工作场景来选择

代码区

Sub tests2()Dim rng As Range, a As RangeSet rng = Application.InputBox("请选择单元格区域", "区域的选择", , , , , , 8)For Each a In rng    If IsError(a.Value) Then        a.Value = 0    End IfNextEnd Sub

看看效果

代码解析

这里错值的修改,我们这里采用的是遍历循环单元格的方式,那么如何判断一个单元格是否是错值呢?

IsErrorrange.value

这里需要注意的是,这里range后面跟着是一定是value,不能是text

在很多情况下,range.text和range.value返回的结果都是相同的,都是单元格本身的内容,但是在一些特别的场合下,这两个返回的结果是不同的,比方说今天的案例

针对单元格是否是错值,我们需要用的是range.value

我们可以一起来看看代码

我们可以看到在错值的判断中,这两个返回的结果是不同的,只有value返回的结果才是正确的。所以这一点大家要留意。

找到了错值之后,我们就可以针对单元格内容进行修改了。这个就非常的简单了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA公式自动向下填充(Excel VBA)
快速查看Excel使用的公式
excel如何实现一行记录单元格前后不一致变色?
Excel之VBA常用功能应用篇:只隐藏公式的错值而不影响后续的计算
Excel-VBA快速填充空白单元格
VBA函数公式带备注
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服