【问题标题】:In Excel macro, construct and evaluate a worksheet array formula [duplicate]在 Excel 宏中,构造和评估工作表数组公式 [重复]
【发布时间】:2021-07-04 06:28:36
【问题描述】:

我正在使用数组公式:

{=MAX(IF(NOT(ISBLANK(A:A)),ROW(A:A),0))}

具体的公式并不重要。在这种情况下,我知道我可以使用常规公式得到相同的结果。这只是为了说明。

我想在宏中构造这样一个数组公式并替换我喜欢的任何列,但我没有找到任何描述如何从 VBA 执行数组公式的内容。

我尝试使用这个,它适用于常规公式,

Application.Evaluate("{MAX(IF(NOT(ISBLANK(A:A)),ROW(A:A),0))}")

Application.Evaluate("{=MAX(IF(NOT(ISBLANK(A:A)),ROW(A:A),0))}")

但出现错误(13 类型不匹配)。

【问题讨论】:

    标签: excel vba array-formulas


    【解决方案1】:

    只需从公式中删除大括号即可。

    Application.Evaluate("=MAX(IF(NOT(ISBLANK(A:A)),ROW(A:A),0))")
    

    【讨论】:

    • 我的错。已经有了答案(请参阅上面对我的问题的编辑)。
    猜你喜欢
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多