【问题标题】:Run EXCEL formula in VBA function在 VBA 函数中运行 EXCEL 公式
【发布时间】:2017-01-27 08:10:22
【问题描述】:

我在 VBA 中有一个从单元格调用的自定义函数,我有一个这样的公式

"=SUM(SUMIFS(CURR_COUNT;MDL;""MODEL"";CURR_MDLCD;{CODES};RG;""REGIONID""))/SUM(SUMIFS(CURR_COUNT;MDL;""MODEL"";RG;""REGIONID"";CURR_MDLCD;""<>     ""))"

我的自定义函数获取一些单元格值并将它们插入到只是字符串的公式中。之后我需要计算公式并将结果返回到我调用函数的单元格? 我可以在函数中计算这个公式并将结果返回到单元格吗?

【问题讨论】:

  • Application.WorksheetFunction
  • @mojo 为什么不在宏录制器中录制呢?
  • 我想知道是否有可能在函数中评估这种公式并返回结果?
  • 你的答案在这里:stackoverflow.com/a/41754122/4926357
  • Application.WorksheetFunction 我认为可以解决我的问题,但是当我尝试传递数组标准时,它返回 0 但应该返回 >0 WorksheetFunction.Sum(WorksheetFunction.SumIfs(COUNT, MDL, Model, MDLCD, codes, RG, RegionId)) 代码 = {123;25;37},但如果我设置例如,像 123 这样的代码计算得很好。我做错了什么?

标签: vba excel excel-formula


【解决方案1】:

假设您的公式字符串在实际放入单元格时可以工作,那么如果您使用 Application.Evaluate 应该可以工作 - 但您不包含等号。

例如计算

=SUM(A1:B1)

在 VBA 中你会使用

Application.Evaluate("SUM(A1:B1)")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    相关资源
    最近更新 更多