首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理错误

处理错误
EN

Stack Overflow用户
提问于 2014-01-23 10:44:57
回答 1查看 278关注 0票数 1

我试图对一些数据执行一些操作,但它们不起作用,我需要找到一种方法来忽略那些不符合所有要求的单元格。

基本上,我有一个列,其中一些单元格的内容中有文本+数字,而另一些单元格只有文本。我搜索所有这些内容,在一列中拆分文本,在另一列中拆分数字。然后,运行一个宏来查找另一列中每一列的匹配文本。

但是,当我试图从数字中分割文本时,我搜索第一个"(“),因为我的数字格式是(10.10.10),但是如果找不到它,就会出现单元格值:# value!(好的,这是因为没有找到字符)。问题是:如果我运行我的宏"#VALUE!它崩溃了,而不完成它的执行。“

我试过用

关于误差GoTo

在我的宏代码中,但由于某种原因,它不处理“运行时错误:类型错配”。

代码语言:javascript
复制
For contadorOr = 2 To colO
  For contadorDes = 2 To colA
        On Error GoTo cont
        If InStr(1, Cells(contadorDes, colunaDestino).Value, Cells(contadorOr, colunaOrigem).Value) Then
            If InStr(1, Cells(contadorOr, colunaOrigem + 4).Value, Cells(contadorDes, colunaDestino + 1).Value) Then
                Cells(contadorOr, colunaOrigem + 5).Value = "Mesma versão"
            End If

            Exit For
        End If
    Next contadorDes
cont: Next contadorOr

有什么建议吗?我可以忽略这个错误(当它发生时,我的变量contadorOr是递增的,没有下一个值)或者任何避免#值的方法!我的职责回来了,但还没有成功。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 10:52:04

与使用错误处理选项不同,您可以检查要检查/处理的单元格是否返回错误。这很简单,如下所示:

代码语言:javascript
复制
If IsError(Cells(contadorDes, colunaDestino).Value) Then
      'to do anything if there is error
      'usually...do nothing
Else
      'do what you want if there is no error
End if
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21305844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档