我正在尝试使用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)),""""))"
答案 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中。我不清楚你是否想要包装空间。