VBA匹配并查找错误:无匹配类型(&A);未定义错误

VBA匹配并查找错误:无匹配类型(&A);未定义错误,vba,error-handling,macros,find,match,Vba,Error Handling,Macros,Find,Match,代码 AFAS转储列1包含nr的数量。数据表还包含一定数量的nr。我想检查来自AFAS转储的nr是否也在数据表中。如果不是,我想将nr添加到数据表中。我想使用匹配或查找,但它们都给我带来了问题 另一件事是我的K10000000,我想通过一个参数改变nr,但我注意到这不起作用。我更喜欢将e赋给一个值的Ke。由于在其中一行中引用了第13列,但如果您试图添加到第K列,则没有意义,所以您试图实现的目标有点不清楚。如果您希望宏检查“AFAS转储”表中列1中的数字是否在“数据表”的列K中,并将其添加到“数据

代码

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


另一件事是我的K10000000,我想通过一个参数改变nr,但我注意到这不起作用。我更喜欢将e赋给一个值的Ke。

由于在其中一行中引用了
第13列
,但如果您试图添加到
第K列
,则没有意义,所以您试图实现的目标有点不清楚。如果您希望宏检查“AFAS转储”表中
列1
中的数字是否在“数据表”的
列K
中,并将其添加到“数据表”的底部(如果还没有),请尝试以下操作:

    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

是的,你是对的,13一定是1。如果我发现一个nr不在“数据表”中,但在“AFAS转储”中,我想将其添加到“数据表”的第1列。明天我试试你的代码。已经谢谢你的帮助了。
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