首页 > 解决方案 > 在 Excel VBA 中转换 mmm dd、yyyy、h:mm am

问题描述

应用程序导出的文本字段结合了日期和时间,格式如下所示。这种格式与“在 Excel 中转换 MMM DD, YYYY HH:MM:SS am in Excel”的答案有点不同(初学者在年份之后有一个逗号),后者于 2014 年 6 月 2 日在 Stackflow 上得到了回答。我尝试运行答案提供的 VBA 代码,但出现运行时错误 13 并且类型不匹配。我对 VBA 知之甚少,不知道应该对 VBA 代码进行哪些更改。任何帮助将不胜感激。

Apr 5, 2018, 10:00 AM
Apr 15, 2018, 2:00 PM 
Apr 30, 2018, 7:00 PM

标签: vbaexcel

解决方案


您没有说明要将其转换为什么。

但是,要从字符串中提取标准 Excel DATE 或 TIME 值,只需将第二个逗号替换为空格,然后将 TIMEVALUE 或 DATEVALUE 函数应用于结果。

如果要创建组合的日期/时间戳,请将 VALUE 函数或双一元应用于替换的字符串:

约会时间

=VALUE(SUBSTITUTE(A1,","," ",2))  or
=--(SUBSTITUTE(A1,","," ",2)) 

Result -->   43195.41667 which can be formatted however you want

仅限日期

 =DATEVALUE(SUBSTITUTE(A1,","," ",2))

仅时间

=TIMEVALUE(SUBSTITUTE(A1,","," ",2))

推荐阅读