我正在努力寻找与名字相匹配的技能。我知道我的数据表中有一些名字不在我的技能表中(我没有他们的技能)。
当涉及到不在技能表中的名称时,我得到错误1004。
例如,我在数据表中有以下名称:
ASS
bbb
zzz
MMM
DDDD并在技能表中为他们提供以下技能
ASS: 1_Level
bbb: 2_lvel
zzz: 3_Level
MMM: OM当我运行代码时,当它想要找到DDDD的技能时,我得到了错误。
当我使用IsError时,我希望在数据表中对这种情况有“找不到”。
为什么会发生这个错误?
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发布于 2020-08-10 21:27:00
尝试替换
Skill = Application.WorksheetFunction.VLOOKUP(Name, rng, 2, False)
If Not IsError(Skill) Then
Skill2 = Skill
Else
Skill = "Not find"
End If使用
If WorksheetFunction.IsNA(Application.VLOOKUP(Name, rng, 2, False)) then
Skill = "Not find"' Skill or Skill2 = ...?
Else
Skill2 = Skill
End ifhttps://stackoverflow.com/questions/63340934
复制相似问题