excel - VBA Date + TimeValue 不返回时间
问题描述
我有一个日期和时间,我从表单中的字符串组合成日期+时间
date_string = "2020-12-30" 'yyyy-mm-dd
date_code = CDate(date_string)
time_string = "00:00:00" 'hh:mm:ss
time_code = TimeValue(time_string)
date_time = date_code + time_code
通常回报看起来像05.01.2019 11:00:00
,这是我所期望的。
如果我测试,返回的值也都检查为 TRUEIsDate(date_time)
然而,无论何时00:00:00
,我只得到返回的日期,没有附加时间。我不太明白这一点,因为TimeValue(time_string)
返回00:00:00
。
因此,将日期和时间组合为日期+时间字符串时一定是个问题。
有人可以告诉我为什么Excel VBA中不存在午夜或者我在创建时间码时的错误在哪里?
编辑:
我试着更好地解释我的情况:
我在代码中执行此日期日期/时间的内容,然后在循环中的数组中执行结果。只是稍后才将其写入表格中的单元格。
当时间被写入单元格时,即使将单元格自定义格式设置为“DD.MM.YYYY hh:mm”也不会显示时间,因为它完全从单元格值中丢失。
我需要在点应用格式date_code + time_code
吗?
解决方案
有时答案可能如此简单。感谢 Variatus 和 Paul,我检查了格式。
我date_time = Format(date_code + time_code, "dd.mm.yyyy hh:mm")
在我的代码中应用了一个。使用它,我的代码按预期运行并按预期00:00:00
显示,即使在 Excel 表的单元格值中也是如此。
推荐阅读
- python - Jupyter Notebook 未提供正确的输出格式
- c++ - 将 QString 作为参数传递给 QFuture
- python - 根据多列条目过滤行
- angular - 处于待处理状态的自定义异步验证表单
- html - 没有设置高度的弹性列?
- git - 将 git pull origin 生产的问题合并到一个分支
- sql-server - 使用 DBMail 向不同的收件人发送不同的查询结果
- linux - 带有 IP 地址的 netstat 进程详细信息
- ios - 如何在 Swift iOS 中使用具有自定义私钥的 SHA256withRSA 对字节数组进行签名
- apache-spark - spark节点间通信支持哪些密码?