运行时错误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)