来自不同工作表的VBA中的Vlookup-编码错误

时间:2019-12-24 08:15:23

标签: excel vba vlookup

我是VBA的新手。我得到了这段代码,但是当它运行时,它显示了此错误消息:

  

参数数量错误或属性分配无效。

这是我从某个地方复制并编辑自己的代码:

Sub cl_macro2() 
    cl_macro2 macro '
    Dim Concur As Worksheet, SunAccCode As Worksheet
    Dim ConcurLastRow As Long, SunAccCodeLastRow As Long, x As Long
    Dim SunAccCodeRng As Range

    Set Concur = ThisWorkbook.Worksheets("Concur")
    Set SunAccCode = ThisWorkbook.Worksheets("SunAccCode")

    ConcurLastRow = Concur.Range("I" & Rows.Count).End(xlUp).Row
    SunAccCodeLastRow = SunAccCode.Range("A" & Rows.Count).End(xlUp).Row

    Set SunAccCodeRng = SunAccCode.Range("A1:C" & SunAccCodeLastRow)

    For x = 2 To ConcurLastRow
    On Error Resume Next
    Concur.Range("J" & x).Value = Application.WorksheetFunction.VLookup(Concur.Range("I" & x).Value, SunAccCodeRng, 3, 0)

    Next x

End Sub 

1 个答案:

答案 0 :(得分:0)

代码的第二行显示为:

cl_macro2 macro '

这似乎是一个(毫无意义的)注释,但是在行的开头没有撇号告诉VBA不要执行它。

实际上发生的是VBA试图像执行代码一样执行这一行。如所写,这意味着子程序正在尝试调用自身-并传递一个称为“宏”的参数(变量)。但是由于sub不接受任何参数,所以会出现错误。

要发表评论,您需要插入一个':

' cl_macro2 macro '

否则,只需删除整行。

相关问题