VBA匹配和查找错误:没有匹配类型&未定义的错误

时间:2016-03-21 11:30:40

标签: vba error-handling macros find match

代码

    n = Worksheets("Datasheet").UsedRange.Rows.count
    For l = 2 To k
        check = Application.Find(Worksheets("AFAS Dump").Cells(l, 1), Worksheets("Datasheet").Range("K4:K10000000"))
        If check = 0 Then
        Cells(n + 1, 1) = Worksheets("AFAS Dump").Cells(l, 13)
        End If
    Next l
  

AFAS转储列1包含一定数量的nr。数据表还包含一定数量的nr。我想检查来自AFAS转储的nr是否也在数据表中。如果不是,我想将nr添加到数据表。我想使用Match或Find,但他们都给我带来了问题。

另一件事是我的K10000000,我希望通过参数更改nr但我注意到它不起作用。我更喜欢Ke,其中e将分配给一个值。

1 个答案:

答案 0 :(得分:0)

有点不清楚你想要实现什么,因为你在其中一条线路中引用了Column 13,如果你想要添加它是没有意义的到Column K。如果您希望宏检查“AFAS转储”中的Column 1中的号码是否为&#39}。表格位于“数据表”的Column K内。并将其添加到'数据表'的底部。如果它还没有,那么试试这个:

n = Worksheets("Datasheet").Cells(Rows.Count,11).End(xlup).Row
e = Worksheets("AFAS Dump").Cells(Rows.Count,1).End(xlup).Row
For l = 2 To e
    If Worksheetfunction.Match(Worksheets("AFAS Dump").Cells(l, 1), _
    Worksheets("Datasheet").Range("K4:K" & n),0) = 0 Then
        Worksheets("Datasheet").Cells(n + 1, 11) = Worksheets("AFAS Dump").Cells(l, 1)
        n = n + 1
    End If
Next l