Reputation: 121
I spent this afternoon trying to compile a macro but I'm stuck on a runtime error :
Application-Defined or Object-defined error.
Here's my code :
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
And the error is in the following line :
Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6;FromRepair!" & myRange & ";11;0)"
Does anyone of you know how I can solve this problem?
Upvotes: 1
Views: 160
Reputation: 121
As @Vasmi said there was a missing bracket in my formula, so the resolution was :
Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE),0)"
instead of
Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE)
Upvotes: 0
Reputation: 14537
As @Vamsi said your are missing a closing bracket in your formula.
Furthermore, I'd add that you didn't specify in the VLOOKUP
if you want an exact or approximate match. As this argument is by default set to approximate, I'd suggest that you take the habit to set it to match your purpose.
So I'd propose this :
Range("O" & ToRStart).Formula = "=IFNA(VLOOKUP(B6,FromRepair!" & myRange & ",11,FALSE),0)"
Upvotes: 1