Hum*_*Val 9 excel vba excel-vba vlookup
对于所有善良的爱,我似乎无法让这一切发挥作用.我一直收到上面提到的错误.
我有这个表,我试图找出代码是否在另一列中的某个地方匹配它自己的子代码,但它是错误的.非常感谢您的帮助.

Sub testing()
Dim m1 As long
Dim myrange As Range
Set myrange = Worksheets("Sheet1").Range("B2:B23")
For e = 2 To 23
m1= Application.WorksheetFunction.Match(Cells(e, 1).Value, myrange, 0)
If m1 > 0 Then
Cells(e, 3).Value = "Yes"
Else
Cells(e, 3).Value = "No"
End If
Next e
MsgBox "Complete!"
End Sub
Run Code Online (Sandbox Code Playgroud)
Dav*_*ens 19
使用该Application.Match功能可以更好地捕获错误.使用时WorksheetFunction.Match,如果未找到匹配项,则会返回错误,这是您遇到的错误.
If Not IsError(Application.Match(Cells(e, 1).Value, myrange, 0)) Then
'Do stuff when the match is found
Cells(e, 3).Value = "Yes"
Else:
Cells(e, 3).Value = "No"
End If
Run Code Online (Sandbox Code Playgroud)
您还可以使用该CountIf功能:
If Application.WorksheetFunction.CountIf(myRange, Cells(e,1).Value) > 0 Then
Cells(e,3).Value = "Yes"
Else:
Cells(e,3).Value = "No"
End If
Run Code Online (Sandbox Code Playgroud)
这些方法都不要求您使用m1变量,如果需要确定匹配的位置,则可以True在If/Then语句的部分中分配此变量.
| 归档时间: |
|
| 查看次数: |
72815 次 |
| 最近记录: |