请求VBA高手:如何在EXCEL(2010版)中,如何一次性替换全部错误值(错误值是公式下的,不是数值)

比如我有一个工作薄,工作薄中有100个工作表,每个工作表都有大量数据,而且全部是公式生成的数据,其中有95个表存在部分错误值,我知道改公式或用“iserror”可以避免错... 比如我有一个工作薄,工作薄中有100个工作表,每个工作表都有大量数据,而且全部是公式生成的数据,其中有95个表存在部分错误值,我知道改公式或用“iserror”可以避免错误值,但是这样改起来太多,太麻烦,我的公式都是很长的公式,希望得到一个VBA编程,目的是:
1、能够一次性全部选中整个工作薄中的全部错误值(请不要讲替换,那个只能替换值类型的,我的错误值是在公式下的,无法替换的)。
2、能够一次性全部替换成我要的值,或删除全部错误值。
请指教!!!
展开
 我来答
阳光上的桥
2014-08-26 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

下面的代码能达到你的目的,代码非常简单,把所有工作表中公式错误的单元格内容清空:

Sub xxx()
    Dim st As Worksheet
    Dim cel As Range
    For Each st In Sheets
        For Each cel In st.UsedRange.Cells
            If IsError(cel) Then cel.ClearContents
        Next cel
    Next st
End Sub

代码我测试通过,应该没有问题,你遇到问题请详细描述,最好拷屏。

biuul
2014-08-26 · TA获得超过251个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:174万
展开全部
编个代码给你
这个代码是把全部sheet的错误单元格删除内容
试用的时候小心一些

Sub Macro1()
For n = 1 To Sheets.Count
Worksheets(n).Cells.SpecialCells(xlCellTypeFormulas, 16).ClearContents
Next n
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想起名字了99
2014-08-26 · TA获得超过1695个赞
知道大有可为答主
回答量:2708
采纳率:76%
帮助的人:724万
展开全部
Sub DelErr()
Dim Sht As Worksheet
Dim Rng As Range
For Each Sht In ThisWorkbook.Worksheets
For Each Rng In Sht.UsedRange
If IsError(Rng.Value) Then Rng = Null
Next
Next
End Sub

以上代就是删除错误值的
你可以修改上面代码中
If IsError(Rng.Value) Then Rng = Null
一句等号右边的值为你想要的值
这样这会把所有错误值替换成你希望的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友733e280
2014-08-26 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:47%
帮助的人:3760万
展开全部
把当前工作每个工作表中的错误值,全部删除

Sub dele_err()
'
Application.ScreenUpdating = False

For i = 1 To Sheets.Count
Sheets(i).Select
Selection.SpecialCells(xlCellTypeFormulas, 16).Select
Selection.ClearContents
Next i

Application.ScreenUpdating = True

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式