尝试使用vba插入索引匹配公式时键入不匹配错误?

时间:2017-02-27 15:40:09

标签: excel vba excel-vba excel-formula formula

我正在尝试使用vba插入以下索引匹配公式和通配符,如下所示:

Cells(i, 13) = "=IFERROR(INDEX(Contacts!$C:$C,MATCH(" * " & Range(""C"" & i).Value & " * ",Contacts!$B:$B,0)),"""")"

出于某种原因,我遇到了类型不匹配错误。请有人告诉我我做错了什么吗?

编辑:

Cells(i, 13).Formula = "=IFERROR(INDEX(Contacts!$C:$C,MATCH(""*"" & """ & Range("G" & i).value & """ & ""*"",Contacts!$B:$B,0)),IFERROR(INDEX(Contacts!$C:$C,MATCH(""*"" & LEFT(""" & Range("G" & i).value & ,7) """ & ""*"",Contacts!$B:$B,0)),""""))"

4 个答案:

答案 0 :(得分:2)

就像你用四个双引号来获得两个,你需要把两个用来得到一个:

Cells(i, 13).Formula = "=IFERROR(INDEX(Contacts!$C:$C,MATCH(""*"" & """ & Range("C" & i).Value & """ & ""*"",Contacts!$B:$B,0)),"""")"

答案 1 :(得分:0)

使用

Cells(i, 13).Formula = "=IFERROR(INDEX(Contacts!$C:$C,MATCH(""*" & Range("C" & i).Value & "*"",Contacts!$B:$B,0)),"""")"

答案 2 :(得分:0)

您需要指定它是rdHelper的公式:

.Formula

此外,您的代码

无法正确识别您的范围(“”C“”)

答案 3 :(得分:0)

在活动表的C5中使用abc

Dim i As Long
i = 5
With ActiveSheet
    .Cells(i, 13).Formula = "=IFERROR(INDEX(Contacts!$C:$C,MATCH("" * " & .Cells(i, "C").Value & " * "",Contacts!$B:$B,0)),"""")"
End With

这产生公式

=IFERROR(INDEX(Contacts!$C:$C,MATCH(" * abc * ",Contacts!$B:$B,0)),"")

......在M5中。我不清楚你是否想要包装空间。