失踪 ; 在陈述之前。 (第1行,“代码”文件)

我似乎无法找出如何解决这个问题

失踪 ; 在陈述之前。 (第1行,“代码”文件)

所以这是我的代码:

Sub SearchMacro () Dim LR As Long, i As Long With Sheets("M-List") LR = .Range("T2" & Rows.Count).End(xlUp).Row For i = 1 To LR With .Range("T2" & i) If .Value = sheets("JAN!).Range("D158").Value = sheets("M-List").Range("N2").Value Then Sheets("M-List").Range("T2").Value = Sheets("JAN!").Range("H158").Value End If End With Next i End With End Sub 

除了失踪之外,在代码中似乎还有一个双重任务的问题

  If .Value = sheets("JAN!).Range("D158").Value = sheets("M-List").Range("N2").Value Then 

如果您正在比较M-List!T2# (其中#从1到X)到JAN!D158 ,则使用此代码

 If .Value = sheets("JAN").Range("D158").Value Then` 

但是,如果您比较JAN!D158 = M-List!N2,则使用此代码

 If sheets("JAN").Range("D158").Value = sheets("M-List").Range("N2").Value Then` 

问题出在你的第一个If语句,它应该以If .Value = sheets("JAN!")

在工作表名称末尾缺less双引号。