首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用空格替换VBA公式错误

如何用空格替换VBA公式错误
EN

Stack Overflow用户
提问于 2018-09-28 06:52:34
回答 1查看 245关注 0票数 -1

我有一个带有索引匹配公式的VBA语句。

代码语言:javascript
复制
GetMatch = WorksheetFunction.Index(Worksheets("Mapping").Range("$A$1:$E$10"), (WorksheetFunction.Match(Mid(Mystring, 1, InStr(Mystring, "_") - 1), Worksheets("Mapping").Range("$B$1:$B$10"), 0)), 4)

当没有找到该值时,这将返回一个错误(#Value!)。这很好,但是当我尝试在任何操作中使用结果时,这会导致问题。

失败的示例操作:CorrectMatch = GetMatch(MyString)

我用过On Error GoTo 0On Error GoTo NextIsError

如果出现错误,如何返回空格?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-28 07:15:32

停止使用WorksheetFunction。改用Application.Index和Application.Match,你可以用IsError测试返回结果。

代码语言:javascript
复制
function GetMatch(str as string)

    dim m as variant

    with Worksheets("Mapping")
        m = Application.Index(.Range("$A$1:$E$10"), (Application.Match(Mid(Mystring, 1, InStr(Mystring, "_") - 1), .Range("$B$1:$B$10"), 0)), 4)
    end with

    if iserror(m) then
        GetMatch = vbnullstring
    else
        GetMatch = cstr(m)
    end if

end function
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52546111

复制
相关文章

相似问题

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