gpt4 book ai didi

vba - 从 ADODB 记录集中复制数据时,Excel 表丢失数字格式

转载 作者:行者123 更新时间:2023-12-01 23:08:30 25 4
gpt4 key购买 nike

我正在使用 CopyFromRecordset 方法从 ADODB 记录集更新 Excel 表。

更新后,只要有数字列,数字就会显示为日期。

到目前为止,我使用的解决方法是通过 VBA 将列的格式设置回数字,但这不是一个好的解决方案,因为需要更多时间才能完成报告。我还必须编写代码来容纳很多表。

有快速解决办法吗?非常感谢任何帮助。

'Delete old data and copy the recordset to the table
Me.ListObjects(tblName).DataBodyRange.ClearContents
Me.Range(tblName).CopyFromRecordset rst

tblName - 指的是保存与第一个数据相同格式/数据类型的数据的现有表

最佳答案

我知道这是一个迟到的答案,但我遇到了同样的错误。我想我已经找到了解决方法。

Excel 似乎希望该范围是左上角的单元格,而不是单元格范围。因此,只需将语句修改为 Range(tblName).Cells(1,1).CopyFromRecordset rst

'Delete old data and copy the recordset to the table
Me.ListObjects(tblName).DataBodyRange.ClearContents
Me.Range(tblName).Cells(1,1).CopyFromRecordset rst

似乎还要求目标工作表处于事件状态,因此您可能必须首先确保该工作表处于事件状态,然后再更改回之前的事件工作表。这可能已在更高版本的 Excel 中得到修复。

关于vba - 从 ADODB 记录集中复制数据时,Excel 表丢失数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com