【问题标题】:Runtime error 1004 when putting formula into cell将公式放入单元格时出现运行时错误 1004
【发布时间】:2016-05-18 13:37:12
【问题描述】:

我刚刚更改了将公式放入单元格的代码,现在它显示运行时错误 1004(应用程序定义或对象定义错误)。 我的新代码是:

ActiveCell.FormulaR1C1 = _
    "=IF(IsError(VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)),""MISC"",IF(ISNUMBER(SEARCH(""AX"",(RC[2],2))),""Amex"",VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)))"

之前运行良好的代码是:

'ActiveCell.FormulaR1C1 = _
    "=IF(IsError(VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)),""MISC"",IF(LEFT(RC[2],2)=""AX"",""Amex"",VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)))"

我更改的部分是 IF(LEFT(RC[2],2)=""AX"",""Amex"" 变成 IF(ISNUMBER(SEARCH(""AX"",(RC[2], 2))),""Amex"" 但我不明白为什么会抛出错误。

【问题讨论】:

  • 如果您遇到此类问题,您应该手动将公式粘贴到单元格中,看看它是否正确。这是找出其中错误的最简单方法。

标签: excel runtime-error vba


【解决方案1】:

您似乎在 LEFT 语句的一部分中离开了。你需要:

ActiveCell.formular1c1 = _
    "=IF(IsError(VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)),""MISC"",IF(ISNUMBER(SEARCH(""AX"",RC[2])),""Amex"",VLOOKUP(RC[3],TransactionTypes!C:C[1],2,0)))"

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多