excel - NumberFormat 属性在需要返回格式化日期的函数中未生效
问题描述
Excel VBA问题:
另一个人对 NOW() 函数有疑问,因为他们希望它返回一个静态日期和时间,而无需复制和粘贴该值。我建议了一个用户定义的函数,它以静态方式正确返回当前日期和时间。问题是 NumberFormat 属性被忽略并且弹出的结果是一个数字。
我尝试了其他几种格式化解决方案,但这些也被忽略或导致错误。
Public Function DateNow() As Date
ActiveCell.NumberFormat = "[$-en-US]m/d/yy h:mm AM/PM;@"
DateNow = Now
End Function
预期结果将是静态的当前日期和时间。重新迭代;代码是正确的,除了 ActiveCell.NumberFormat... 部分没有生效。
编辑:我已经阅读了下面的评论并尝试更新它以包含对子的调用,但仍然没有运气。有人可以指导我解决方法吗?谢谢。
Public Function DateNow() As Date
DateNow = Now
Call DateSub(ActiveCell)
End Function
Public Sub DateSub(rg As Range)
rg.NumberFormat = "[$-en-US]m/d/yy h:mm AM/PM;@"
End Sub
解决方案
请尝试以下操作,因为格式化它很重要,所以让格式化值在它自己的函数中。希望!它达到了目的。如果有帮助,请将其标记为已接受的答案。
Public Function DateNow() As String
DateNow = Format(Now, "[$-en-US]m/d/yy h:mm AM/PM;@")
End Function
推荐阅读
- c++ - 使用 C++ 挂载函数挂载 ecryptfs
- javascript - 如何在 NodeJS 中根据空间拆分数组?
- c - 如何将 C 结构传递给 Rust?
- node.js - express 创建的 localhost:3000 服务器是什么意思?
- arrays - F#无反射向下转换数组
- javascript - 数字归零 TrimAll(大数字)的正则表达式
- javascript - 如何通过 JavaScript 获取鼠标的状态
- python - 在 Python 3 中使用 lambda 和 map 函数修改列表中的数字
- java - JavaMelody 上没有 SQL 统计信息 - JBoss EAP 7
- javascript - 如何在 ReactJS 钩子中添加计时器