【发布时间】:2019-01-06 00:01:39
【问题描述】:
我知道这个问题已经讨论了很多 - 但我实际上还没有找到这个问题的最终答案。 我想从我的 VBA(Excel)脚本中的日期“删除”(或者更确切地说规范化)时间。例如:
20.12.2017 15:16
应该转化为
20.12.2017 00:00
据我所知,Format() 或 NumberFormat() 函数只会改变外观/格式,但不会改变值本身。在我的情况下,有必要实际更改值,即从 43089,64(等于 20.12.2017 15:16)向下舍入到 43089,00(等于 20.12.2017 00:00)。 人们经常建议使用 int(),其他人说这可能导致溢出,因为整数限制为 32767(似乎合法),你应该使用 CLng。但是当我改为应用 CLng 时,它会四舍五入到 43090,这不是我的目标。然后其他人再次建议在字符串中剪切日期或使用 CLng() 结合 floor() 或 rounddown()。
谁能告诉我我是否真的可以使用 int() 或者这是否会造成溢出?否则,什么是安全且高效的解决方案?
感谢您的帮助!
【问题讨论】:
-
将单元格的值设置为 Format 函数的结果 - 这不仅仅是改变外观
标签: excel vba date time integer