IFERROR INDEX/MATCH 公式有应用程序定义或对象定义的错误
IFERROR INDEX/MATCH formula having application-defined or object-defined error
我正在尝试创建一个宏,允许我使用 INDEX MATCH 自动填充来自另一个工作簿的数据。我已经使用了另一个公式的确切代码并且它有效但是当我简单地替换下面代码中的公式时,它给了我一个 "application-defined or object-defined error"
下面是我的代码。有问题的公式在 .formula
之后开始。其余代码可供我自动填充空单元格,并且它已经与另一个宏一起使用。
Sub FillOrderType()
Dim LR As Long
LR = ActiveSheet.UsedRange.Find("*", SearchDirection:=xlPrevious,
SearchOrder:=xlByRows).Row
With Range("H2:H" & LR)
With .SpecialCells(xlCellTypeBlanks)
.Formula = "=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"")))"
End With
.Value = .Value
End With
End Sub
如果您能帮助识别问题,我们将不胜感激。对于长公式,我深表歉意,我曾尝试使用 _
来包装它,但它没有用。
编辑:
我认为问题完全在于公式本身,因为每当我尝试调试时它都会突出显示
=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"")))
但我对如何将其转换为 VBA 代码一无所知。在公式中,我想要的值位于另一个工作簿的不同工作表中,我使用 IFERROR 和 INDEX MATCH 来获取我想要的值。
您好,修复很简单,在最后一个 iferrro 处使用“””而不是“”
"=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"""")))"
我正在尝试创建一个宏,允许我使用 INDEX MATCH 自动填充来自另一个工作簿的数据。我已经使用了另一个公式的确切代码并且它有效但是当我简单地替换下面代码中的公式时,它给了我一个 "application-defined or object-defined error"
下面是我的代码。有问题的公式在 .formula
之后开始。其余代码可供我自动填充空单元格,并且它已经与另一个宏一起使用。
Sub FillOrderType()
Dim LR As Long
LR = ActiveSheet.UsedRange.Find("*", SearchDirection:=xlPrevious,
SearchOrder:=xlByRows).Row
With Range("H2:H" & LR)
With .SpecialCells(xlCellTypeBlanks)
.Formula = "=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"")))"
End With
.Value = .Value
End With
End Sub
如果您能帮助识别问题,我们将不胜感激。对于长公式,我深表歉意,我曾尝试使用 _
来包装它,但它没有用。
编辑:
我认为问题完全在于公式本身,因为每当我尝试调试时它都会突出显示
=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"")))
但我对如何将其转换为 VBA 代码一无所知。在公式中,我想要的值位于另一个工作簿的不同工作表中,我使用 IFERROR 和 INDEX MATCH 来获取我想要的值。
您好,修复很简单,在最后一个 iferrro 处使用“””而不是“”
"=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - ( Aug ) Rev5.xlsx]SCHED'!K:K,0)),"""")))"