繁体   English   中英

运行时错误1004范围公式

[英]Runtime error 1004 Range Formula

我今天下午花时间尝试编译宏,但遇到运行时错误:

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

这是我的代码:

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所说,您的公式中缺少右括号。

此外,如果您需要完全匹配或近似匹配 ,我还补充说您没有在VLOOKUP指定。 由于此参数默认设置为近似值 ,因此建议您养成将其设置为符合您的目的的习惯。

所以我建议:

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

正如@Vasmi所说,我的公式中缺少括号,因此分辨率为:

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

代替

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM