我的工作表中的单元格B7中有一个日期,格式为9/1/2019,我想将其转换为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格式的日期。
Select
不返回值,因此这无法按您预期的方式工作:
FormattingValue = WS1.Range("B7").Select
在VBA中,您可以使用Format()
,而无需选择任何内容:
Debug.Print Format(WS1.Range("B7").Value, "YYYY-MM-DD")