excel调用自定义函数没有结果

我用VBA写了一个自定义函数:getMonth(),他的返回值是 {"1","2","3","12"},这个值在VBA中定义的是字符串。。。已经确定返回值是没问题的。。。。。现在我在单元格中使用了自定义函数 getMonth() , 写法如下 =SUM(SUMIFS(日记账!E:E,日记账!B:B,getMonth())) 为什么这样的写法求和为0, 但是 =SUM(SUMIFS(日记账!E:E,日记账!B:B,{"1","2","3","12"})) 这样的写法就能有正常的求和值

第1个回答  2019-01-10

方法/步骤

    打开Excel2007,切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA编程环境。

    在VBA环境下,右击“Microsoft Excel对象”,在弹出的菜单中选择“插入”→“模块”。

    接着点击“插入”菜单中的“过程”。

    在打开的“添加过程”窗口中,输入函数名称,例如“ShowID”,类型设置为“函数”,最后点击“确定”按钮进入编辑状态。

    在打开的函数编辑窗口中,输入该函数要实现的功能。例如编辑如图所示的代码:

    点击“关闭并返回Microsoft Excel"。

    7

    在Excel工作表中输入公式“=ShowID()”并按回车键,就可以查看效果啦。

本回答被网友采纳
第2个回答  2019-01-10
问题就在于getMonth()你定义的是字符串。而公式=SUM(SUMIFS(日记账!E:E,日记账!B:B,{"1","2","3","12"})) 里的{"1","2","3","12"}是个数组,两者是有区别的。
建议直接用VBA编程代替 公式=SUM(SUMIFS(日记账!E:E,日记账!B:B,{"1","2","3","12"}))。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网