excel - 在 VBA 中分隔日期和时间
问题描述
在我的数据中,日期时间格式15-02-2019 19:56
位于单列中。我想将日期和时间分开列。
解决方案
请注意,当使用日期/日期时间时,Excel在单元格中显示的内容并不是 Excel 在单元格中实际保存为值的内容。Excel 为该日期保存的值实际上43511,83056
是自1900-01-01
. 所以时间是一天的一部分,因此由该值的逗号后面的部分表示。
所以你可以使用……</p>
=INT(B1)
仅获取日期(并将单元格格式化为日期)=B1-INT(B1)
只获取时间(并将单元格格式化为时间)
=B1
或者只使用与 B 列(在 C 和 D 中)相同的值,并将一个格式化为日期,一个格式化为时间。
在 VBA 中,您可以使用相同的技术:
Option Explicit
Public Sub SplitDateAndTime()
Dim MyDateTime As Date
MyDateTime = Range("B1").Value
'get date
Range("C1").Value = Int(MyDateTime)
Range("C1").NumberFormat = "YYYY-MM-DD"
'get time
Range("D1").Value = MyDateTime - Int(MyDateTime)
Range("D1").NumberFormat = "hh:mm:ss"
End Sub
推荐阅读
- c# - 为什么异步 LINQ Select lambda 不需要返回值
- nginx - Nginx 镜像未找到后备
- python - 基于条件的 Numpy 拆分数组,没有 for 循环
- javascript - 迭代多级对象?
- c# - 用户控件结构属性的代码生成
- youtube - YouTube 自动播放问题
- excel - 使用 Excel VBA 在 Word 文档中搜索每个标题?
- node.js - 无法使用节点中的 multer API 将大文件上传到 Azure Blob 存储
- c# - Angular 7无法使用c#.net core api下载文件
- python - 如何在 Python 中执行这个 unix 进程?连接参数时的问题