使用宏插入查找公式

时间:2018-12-10 02:14:21

标签: excel vba excel-vba excel-formula

我正在尝试使用C2单元格下的宏插入此公式,但是在执行以下语句期间,始终出现Application undefined错误。

声明:

Worksheets(“ Dup Warnings”)。Range(“ C2”)。Formula =“ = IF(A2 =”“,”“,IF(IFERROR(VLOOKUP(A2,'Appt Type Mapping'!A:J, 2,FALSE),“”)=“” New“”,Sheet1!$ G $ 2,IF(IFERROR(VLOOKUP(A2,'Appt Type Mapping'!A:J,2,FALSE),“”)=“”评论“”,sheet1!$ G $ 3,IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE),“”)=“” New“”,Sheet1!$ G $ 2, IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE),“”)=“”评论“”,Sheet1!$ G $ 3,“”)))))))“

公式有什么问题吗?

2 个答案:

答案 0 :(得分:1)

您将文本字符串文字周围的所有引号加倍,但没有将用作iferror默认值的零长度字符串加倍。

对于零长度的字符串,不必将""加倍到""""中,而是可以选择TEXT(,)`来产生相同的结果,并且不会让眼睛感到困惑。

Worksheets("Dup Warnings").Range("C2").Formula = _
  "=IF(A2=text(,), text(,), IF(IFERROR(VLOOKUP(A2, 'Appt Type Mapping'!A:J, 2, FALSE), text(,)) = ""New"", Sheet1!$G$2, IF(IFERROR(VLOOKUP(A2,'Appt Type Mapping'!A:J,2,FALSE), text(,))=""Review"", sheet1!$G$3, IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE), text(,))=""New"", Sheet1!$G$2, IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE), text(,))=""Review"",Sheet1!$G$3, text(,))))))"

答案 1 :(得分:0)

您在公式中的空双引号需要加倍:

Worksheets("Dup Warnings").Range("C2").Formula = "=IF(A2="""","""",IF(IFERROR(VLOOKUP(A2,'Appt Type Mapping'!A:J,2,FALSE),"""")=""New"",Sheet1!$G$2,IF(IFERROR(VLOOKUP(A2,'Appt Type Mapping'!A:J,2,FALSE),"""")=""Review"",sheet1!$G$3,IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE),"""")=""New"",Sheet1!$G$2,IF(IFERROR(VLOOKUP(A2,'New Appt Type Mapping'!A:J,2,FALSE),"""")=""Review"",Sheet1!$G$3,"""")))))"