首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与列匹配的宏出现错误。

与列匹配的宏出现错误。
EN

Stack Overflow用户
提问于 2014-11-07 21:28:21
回答 1查看 53关注 0票数 0

我想检查sheet1上列中的单元格是否在sheet2中的列中,如果是do,则检查nothing,如果是not,那么在最后一行+1中超过其值

我看到type mismatch在这行If Application.Match(FindValues(i, 1), wsTarget.Range("A2:A" & sLR), 0) = False Then编辑:这是工作的,谢谢

代码语言:javascript
复制
'\\ 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-07 21:42:56

在使用Application.WorksheetFunctions时,或者在本例中使用Application.Match()时,您将看到这样的通用消息。很可能您的Application.Match正在返回一个#N/A错误,VBA说这是一个“类型不匹配”,这是相当通用的。

如果将Application.MAtch()公式的结果分配给变量,然后打印出该变量值,则可以看到此错误(错误2042)。不过,不用担心,因为#N/A是Match() Excel公式的预期结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26810373

复制
相关文章

相似问题

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