Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 847|回复: 6

[已解决]VBA中的函数公式报错

[复制链接]
发表于 2022-5-31 11:41 | 显示全部楼层 |阅读模式


我在Excel里面用下面公式需要按Xtrl+Shift+Enter就不会出错,但是把公式复制到VBA中就是就报错,麻烦哪位大神帮忙指点一下,谢谢
.Range("D58") = "{=SUM(IF(ISBLANK(C8:C17),"""",(1/COUNTIF(C8:C17,C8:C17))))}"

返回表格计算报错为:#DIV/0!
最佳答案
2022-5-31 11:55
数组公式里的括号不可以手动输入的
试试以下语句
.Range("D58").FormulaArray="=SUM(IF(ISBLANK(C8:C17),"""",(1/COUNTIF(C8:C17,C8:C17))))"
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-5-31 11:55 | 显示全部楼层    本楼为最佳答案   
数组公式里的括号不可以手动输入的
试试以下语句
.Range("D58").FormulaArray="=SUM(IF(ISBLANK(C8:C17),"""",(1/COUNTIF(C8:C17,C8:C17))))"
回复

使用道具 举报

 楼主| 发表于 2022-5-31 12:27 | 显示全部楼层
benhsu 发表于 2022-5-31 11:55
数组公式里的括号不可以手动输入的
试试以下语句
.Range("D58").FormulaArray="=SUM(IF(ISBLANK(C8:C17), ...

感谢感谢, 刚刚试了一下, 可以用了,谢谢指导
回复

使用道具 举报

 楼主| 发表于 2022-5-31 13:21 | 显示全部楼层
benhsu 发表于 2022-5-31 11:55
数组公式里的括号不可以手动输入的
试试以下语句
.Range("D58").FormulaArray="=SUM(IF(ISBLANK(C8:C17), ...

再请教一下我用.Range("D58") = ""想再清空表格内容的时候去掉.Range("D58").FormulaArray = "=SUM(IF(ISBLANK(C8:C17),"""",(1/COUNTIF(C8:C17,C8:C17))))"计算的结果但保留公式,试了几次去不掉,能否帮忙看下,谢谢

回复

使用道具 举报

发表于 2022-6-1 08:07 | 显示全部楼层
gaiety1974 发表于 2022-5-31 13:21
再请教一下我用.Range("D58") = ""想再清空表格内容的时候去掉.Range("D58").FormulaArray = "=SUM(IF(IS ...

没理解你要的”去掉结果但保留公式“是怎样的
回复

使用道具 举报

 楼主| 发表于 2022-6-1 09:40 | 显示全部楼层
benhsu 发表于 2022-6-1 08:07
没理解你要的”去掉结果但保留公式“是怎样的

不好意思我表达的不是很清楚,我想要的效果是点击清空按钮,然后清楚单元格中的内容(VBA中定义好的公式计算的结果),但是单元格中在VBA中定义的公式保留。
回复

使用道具 举报

发表于 2022-6-1 15:02 | 显示全部楼层
不懂
等高手出现吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 10:30 , Processed in 0.294221 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表