Excel精英培训网

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

自定义函数-易失性问题

[复制链接]
发表于 2015-3-6 20:20 | 显示全部楼层 |阅读模式
10学分
application.volatile是把函数变成易失性函数
但是,不是直接改变单元格内容,而是只修改批注的情况下,貌似触发不了自动更新的东东
定义的名称是sumpz
我在单元格写sumpz()&t(now())   貌似也不能自动更新,必须要选中单元格,然后回车,结果才会改变.
求解决方法.
详见附件.
  1. Function sumpz(rng As Range, st As String)
  2. Application.Volatile
  3. For Each rg In rng
  4. If rg.Cells.Comment Is Nothing Then
  5.     k1 = k1 + rg
  6.   Else
  7.     If Replace(rg.Cells.Comment.Text, Chr(10), "") = st Then k = k + rg
  8. End If
  9. Next: sumpz = IIf(st = "", k1, k)
  10. End Function
复制代码

列出公式按批注内容求和.zip

14.05 KB, 下载次数: 11

评分

参与人数 1 +3 收起 理由
神隐汀渚 + 3 很给力!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-3-18 20:55 | 显示全部楼层
Application.Volatile改成Application.Calculate试下,或去掉Application.Volatile,将Application.Calculate放在End Function上一行

点评

不好意思,还是不行:(  发表于 2015-3-18 23:22
回复

使用道具 举报

发表于 2015-3-18 20:55 | 显示全部楼层
回复

使用道具 举报

发表于 2015-6-23 10:17 | 显示全部楼层
在 selectingchange事件里加个刷新或者自动计算就行了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 18:41 , Processed in 0.255665 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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