Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 运行时错误1004范围公式_Vba_Excel - Fatal编程技术网

Vba 运行时错误1004范围公式

Vba 运行时错误1004范围公式,vba,excel,Vba,Excel,今天下午我试图编译一个宏,但遇到了一个运行时错误: 应用程序定义或对象定义错误 这是我的密码: 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

今天下午我试图编译一个宏,但遇到了一个运行时错误:

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

这是我的密码:

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)

“=IFNA(VLOOKUP(B6;FromRepair!”&myRange&“11;0)”在上面的代码中,有两个开始括号,只有一个结束括号。我想你需要另一个。我不熟悉这种技术,所以这是我的observation@Vamsi:回答以获取代表分数!;)(查看我的评论以使其完整;))很高兴知道你把问题解决了。看到OP的问题得到解决而不是我得到分数,我感到非常高兴。快乐编码:)这就是我喜欢这个社区的原因。非常感谢@Vasmi祝您愉快。您好,谢谢您的回复,@Vasmi是对的,我错过了括号。然后我将“;”替换为“,”,现在它开始工作了。@HichamBenhima:好的,很高兴它现在能为你工作。您能否验证答案以将您的问题标记为已解决?我建议瓦斯米发表一篇文章,但他似乎并不关心获得分数,但由于问题已经解决,请“关闭”开放式问题;)