运行时错误1004范围公式

我花了这个下午试图编译一个macros,但我坚持一个运行时错误:

应用程序定义的或对象定义的错误。

这是我的代码:

Sub MajPO() Dim i As Integer Dim FromRStart, FromREnd, ToRStart, ToREnd Dim Technology(18) As String Technology(0) = "ADSL" Technology(1) = "ADTRAN" Technology(2) = "ADVA" Technology(3) = "AGW HUAWEI" Technology(4) = "CISCO" Technology(5) = "CSI DWDM HUAWEI" Technology(6) = "IP & IP/VPN REPAIR" Technology(7) = "JUNIPER" Technology(8) = "MEGAPAC" Technology(9) = "MICROWAVE HUAWEI" Technology(10) = "POWER" Technology(11) = "ROP HOUSING" Technology(12) = "SDH ERICSSON" Technology(13) = "SDH MARCONI" Technology(14) = "SOP14XX" Technology(15) = "SYNCRO-GILLAM" Technology(16) = "VDSL1" Technology(17) = "VDSL2" For i = 0 To 18 Worksheets("FromRepair").Activate FromRStart = Application.Match(Technology(i), Range("A:A"), 0) FromREnd = Application.Match(Technology(i) & " Total", Range("A:A"), 0) Worksheets("MissingPO").Activate ToRStart = Application.Match(Technology(i), Range("A:A"), 0) ToREnd = Application.Match(Technology(i) & " Total", Range("A:A"), 0) myRange = ("K" & FromRStart & ":L" & FromREnd) Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6;FromRepair!" & myRange & ";11;0)" Next End Sub 

而错误是在以下行:

 Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6;FromRepair!" & myRange & ";11;0)" 

你们有谁知道我怎么能解决这个问题?

正如@ Vamsi所说,你的配方中缺less一个右括号。

此外,我想补充一点,如果你想要一个确切的或近似的匹配 ,你没有在VLOOKUP指定。 由于这个参数默认设置为近似值 ,我build议你养成习惯,把它设置为符合你的目的。

所以我会提出这个build议:

 Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE),0)" 

正如@Vasmi所说,我的公式中缺less一个括号,所以决议是:

 Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE),0)" 

代替

 Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE)