excel - 如何使用 WorksheetFunction.Text 将日期从 M/D/YY 转换为 YYYY-MM-DD?
问题描述
我的工作表的单元格 B7 中有一个日期,格式为 2019 年 9 月 1 日,我想将其转换为格式为 YYYY-MM-DD 或 2019-09-01 的文本字符串。我尝试使用 WorksheetFunction.Text 并在网上搜索示例,但我的代码只生成了“True”结果,而不是重新格式化的日期。
此代码不起作用:
Dim FormattingValue As String
Dim FormattingResult As String
FormattingValue = WS1.Range("B7").Select
FormattingResult = WorksheetFunction.Text(FormattingValue, "YYYY-MM-DD")
Debug.Print FormattingResult
Debug.Print 返回值“True”,而不是 YYYY-MM-DD 格式的日期。
The code below does work thanks to the contributors:
Dim FormattingResult As String
FormattingResult = Format(WS1.Range("B7").Value, "YYYY-MM-DD")
Debug.Print FormattingResult
This successfully converted 11/5/19 to 2019-11-05
解决方案
Select
不返回值,因此这不会按您的预期工作:
FormattingValue = WS1.Range("B7").Select
在 VBA 中,您使用 can Format()
,无需选择任何内容:
Debug.Print Format(WS1.Range("B7").Value, "YYYY-MM-DD")
推荐阅读
- python - 找不到文件,文件不存在 (jpg)
- c# - 在 C# 中创建自定义任务窗格获取无法创建指定的 ActiveX 控件运行时错误
- azure - 如何在 azure window 10 update 1809 虚拟机中启用 tpm 自动配置?
- java - 如何在其余 api 控制器上捕获文件以及使用 Postman 发送文件的方法
- python - IPython 启动脚本已永久更改 Jupyter Notebooks 行为
- linux - AWK - 如何列匹配文件 A 中的多个匹配项 匹配文件 B 中的一个
- database - 存储来自互联网的文章以供将来搜索的最佳方式
- php - Codeigniter 中的 SFTP
- javascript - 无法在 JavaScript 中获得异步子生成
- c# - 如何在日文中获取日文字体名称?