Iferror公式将不起作用导致替换参数中的“”,没有任何工作[重复]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

我精确复制了MSDN中的代码:sample-user-defined-function-to-hide-formula-errors-in-excel

我试图放入一系列单元格的公式是:

  Selection = "=IFError(INDEX(Data_Import!$B$2:$R$16, MATCH(Reg!$B4,     
   Data_Import!$A$2:$A$16,0),Reg!C$3), "n/a" )"

但我在语法中收到一条错误消息

编译错误:

预期:声明结束

我究竟做错了什么?

我的子代码是:

Sub PresentDat(Wks As Integer)
Dim x, LenWks As Long
Dim Y As Variant
Worksheets(5).Activate
    Range("B26").CurrentRegion.Select
        x = Selection.Columns.Count - 1
Worksheets(Wks).Activate
    Sheets(Wks).UsedRange.Find("Element").Select
        LenWks = Range(Selection, Selection.End(xlDown)).Rows _
            .Count - 1 Selection.Offset(1, 1).Resize(LenWks, x).Select
Selection.Formula = "=INDEX(Data_Import!$A$1:$R$65,     
MATCH($B23,Data_Import!$A$1:$A$65,0), COLUMN(C23)-1)"
    Sheets(Wks).UsedRange.Find("No.").Select
        LenWks = Range(Selection, Selection.End(xlDown)).Rows _
            .Count - 4
Selection.Offset(1, 1).Resize(LenWks, x).Select
Selection = "=IFError(INDEX(Data_Import!$B$2:$R$16, MATCH(Reg!$B4, Data_Import!$A$2:$A$16,0),Reg!C$3), )"

End Sub

我只是无法将它放入我想要的单元格中的错误消息中:c。 。谢谢!

excel vba excel-vba
1个回答
1
投票

根据显示的顶部公式,您需要使用“”来逃避内部“”,因此整个公式不会引发错误,即""n/a""

= "=IFError(INDEX(Data_Import!$B$2:$R$16, MATCH(Reg!$B4,Data_Import!$A$2:$A$16,0),Reg!C$3), ""n/a"")"
© www.soinside.com 2019 - 2024. All rights reserved.