首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在搜索范围内找不到名称时,Vlookup错误代码1004

在搜索范围内找不到名称时,Vlookup错误代码1004
EN

Stack Overflow用户
提问于 2020-08-10 21:12:49
回答 1查看 44关注 0票数 0

我正在努力寻找与名字相匹配的技能。我知道我的数据表中有一些名字不在我的技能表中(我没有他们的技能)。

当涉及到不在技能表中的名称时,我得到错误1004。

例如,我在数据表中有以下名称:

代码语言:javascript
复制
ASS
bbb
zzz
MMM
DDDD

并在技能表中为他们提供以下技能

代码语言:javascript
复制
ASS: 1_Level
bbb: 2_lvel
zzz: 3_Level
MMM:  OM

当我运行代码时,当它想要找到DDDD的技能时,我得到了错误。

当我使用IsError时,我希望在数据表中对这种情况有“找不到”。

为什么会发生这个错误?

代码语言:javascript
复制
Dim Skill As String
Dim Skill2 As String
Dim Name As String
Dim rng As Range
Dim LastRow As Long

Set WB = ThisWorkbook

LastRow = WB.Worksheets("Data").Range("A1").CurrentRegion.Rows.Count

Set rng = WB.Worksheets("skills").Range("A:B")

For i=2 To LastRow

    Name = WB.Worksheets("Data").Cells(i, 9)

    Skill = Application.WorksheetFunction.VLOOKUP(Name, rng, 2, False)

    If Not IsError(Skill) Then
        Skill2 = Skill
    Else
        Skill = "Not find"
    End If

Next i
EN

回答 1

Stack Overflow用户

发布于 2020-08-10 21:27:00

尝试替换

代码语言:javascript
复制
Skill = Application.WorksheetFunction.VLOOKUP(Name, rng, 2, False)

If Not IsError(Skill) Then

Skill2 = Skill

Else

Skill = "Not find"

End If

使用

代码语言:javascript
复制
If WorksheetFunction.IsNA(Application.VLOOKUP(Name, rng, 2, False)) then
   Skill = "Not find"' Skill or Skill2 = ...?
Else
   Skill2 = Skill
End if
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63340934

复制
相关文章

相似问题

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