首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >返回格式化数字的UDF

返回格式化数字的UDF
EN

Stack Overflow用户
提问于 2017-03-29 07:58:53
回答 1查看 698关注 0票数 1

有时,我喜欢在同一个单元格中显示数字和文本。为此,我自定义了将单元格格式化为0.00“test”之类的内容,例如带有公式A1的单元格=PI(),但是使用自定义格式0.00" test"格式化的单元格将返回显示的3.14 test结果。

重要的是,单元格的值通过格式保持不变--您仍然可以在另一个单元格中执行=A1 * 3并获得结果--因为A1的值仍然是Pi,只有它的显示发生了变化。

用于返回数字值的UDF (在我的例子中,Long,但它可能是任何数字),是否有一种返回单元格的方法,使其以1方式显示,但它的实际值(在VBA中的.Value2)是一个数字,而不是文本。

我在VBA中尝试过Format(,但是它返回一个文本字符串。我只需要手动设置单元格的格式,但正如您从下面的代码中可以看到的那样,格式化取决于中间结果(我试图返回计算所用时间格式化的值)。

代码语言:javascript
运行
AI代码解释
复制
UDF_RESULT = Format(valueResult.Length, IIf(tElapsed < timeout, "0" & " """ & Round(tElapsed, 2) & "s""", "0"))

这对于宏来说很容易,但是在UDF中就更难了。我可以在模块级别声明所有中间值,然后Worksheet_Calculate()宏可以访问这些值并应用自定义格式,但是UDF包装的方法要好得多。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-29 08:06:29

不是的。

您混淆了单元格的值和它的数字格式。UDF可以计算一个值,单元格可以根据需要对该值进行格式化。

因此,如果一个UDF返回一个数字,那么单元格的值就是该函数的结果--一个数字。

只需按需要格式化单元格即可。函数不格式化任何东西。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43098569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档