VBA中的match函数返回值怎么整好?

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:51:18
Dim RowOfSN

RowOfSN = Application.Match(numberSN, xlSheet.Range("B1:B2"), 0)
If RowOfSN = "#N/A" Then MsgBox ("Summary文件中没有此SN记录,请仔细核对该文件!") _
Else _
当返回值为空的时候,程序会报类型不匹配,可RowOfSN是可变类型的变量啊 ,怎么会出这种问题?怎么改才好?

将RowOfSN = "#N/A" 改为 IsError(c)即可。
代码如下:
Sub 宏1()
Dim i As Long
On Error Resume Next
i = Application.Match(CDbl(DateValue("2012-11-19")), ActiveSheet.Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row), 1)
If Err.Number = 0 Then MsgBox i
End Sub

RowOfSN = "#N/A" 改为 IsError(c)