如何在执行CopyFromRecordset时将excel视为日期而不是字符串

Tim*_*son 5 sql excel vba

我有来自SQL Server的SQL查询,它以"YYYY-MM-DD"格式返回日期字符串.如果我将此格式的日期输入单元格,则会将其识别为日期.但是当我用CopyFromRecordset填充工作表时,它似乎被视为一个字符串.使用单元格的任何公式都会将其首先转换为日期.例如,如果我的日期在col A中,并且我使用公式= A1 + 0填充新列B,则公式将日期作为日期返回.

问题:我使用Recordset数据做一些事情,其中​​一个是数据透视表.数据透视表不会将我的日期视为日期.例如,我不能将日期分组.我的黑客是创建一个新的列,基本上是= A1 + 0我要更改我的宏来自动添加零,但我想知道是否有一种方法可以从执行CopyFromRecordset的那一刻开始.

one*_*hen 4

最简单的方法是在 SQL 服务器上进行转换,例如

SELECT CAST(date_text AS DATE) FROM TestExcelDates;
Run Code Online (Sandbox Code Playgroud)

  • 在 sql server 上,转换为日期对我来说不起作用。日期时间成功了。 (5认同)