我想检查sheet1上列中的单元格是否在sheet2中的列中,如果是do,则检查nothing,如果是not,那么在最后一行+1中超过其值
我看到type mismatch在这行If Application.Match(FindValues(i, 1), wsTarget.Range("A2:A" & sLR), 0) = False Then编辑:这是工作的,谢谢
'\\ IF cell found in match range then do sothing if not dosomthing else
Sub FindReplace_Updated_Blanks()
Dim FindValues As Variant
Dim ReplaceValues As Variant
Dim wsSource As Excel.Worksheet
Dim wsTarget As Excel.Worksheet
Dim sLR As Long
Dim tLR As Long
Dim i As Long
Sheets("Updated_Blanks").Select
Set wsSource = ThisWorkbook.Worksheets("Blanks")
Set wsTarget = ThisWorkbook.Worksheets("Updated_Blanks")
sLR = wsSource.Range("B" & wsSource.Rows.Count).End(xlUp).Row
tLR = wsTarget.Range("A" & wsSource.Rows.Count).End(xlUp).Row
FindValues = wsSource.Range("B2:B" & sLR).Value
For i = LBound(FindValues) To UBound(FindValues)
If Not IsError(Application.Match(FindValues(i, 1), wsTarget.Range("A2:A" & tLR), 0)) Then
Else
wsTarget.Range("A" & (tLR + 1)) = FindValues(i, 1)
End If
Next i
End Sub发布于 2014-11-07 21:42:56
在使用Application.WorksheetFunctions时,或者在本例中使用Application.Match()时,您将看到这样的通用消息。很可能您的Application.Match正在返回一个#N/A错误,VBA说这是一个“类型不匹配”,这是相当通用的。
如果将Application.MAtch()公式的结果分配给变量,然后打印出该变量值,则可以看到此错误(错误2042)。不过,不用担心,因为#N/A是Match() Excel公式的预期结果。
https://stackoverflow.com/questions/26810373
复制相似问题