4

我们有很多自动电子表格,可以提取数据、计算预测、发布网页等。这是一个非常混乱的系统,我很想重做它(比如说,一个真正的网络服务),但我们没有有权这样做。

我们运行 Excel 2007,大部分电子表格都转换为.xlsms。

无论如何,出于某种我不知道的原因,某些电子表格会在看似随机的时间将某些数字单元格格式化为日期。正如您可能想象的那样,这个问题很难追查,而且通常我只会在有人写了一封关于我们3-Feb-1901应该阅读的数据的讨厌电子邮件时才发现400(显然 Excel 认为 1900 年有闰年)。

我已经多次明确地将有问题的单元格设置为数字格式,但一周后却发现它们充满了日期。

我已经扫描了宏(许多都使用古老的Excel 4.0 宏语言),它们似乎没有任何格式更改。所有复制/粘贴都作为值完成,不保留源单元格格式。

相关工作表中没有条件格式规则。

在子例程中根据需要添加一点 VBA 来格式化单元格Auto_Open似乎可以解决这个问题。

此修复是否足够好,或者在一周内我会发现日期格式出现在计算中间?如果不是,根本原因是什么,我该如何解决?

一件事:我刚刚从这个来源读到Excel '07 可能会自发地将Normal-styled 单元格更改为 format [$-409]m/d/yy h:mm AM/PM;@。我的一些已经改变的细胞肯定是风格化的Normal,但显然不是全部。

4

2 回答 2

4

我假设有问题的单元格是复制/粘贴数据的接收者,还是外部/查询数据?

每当您将粘贴的数据添加到 Excel 中的单元格时,它都会运行一个例程来确定列为“通用”格式的任何内容的最佳格式,即使源是“通用”或“数字”。有时即使将目标单元格设置为“数字”格式也无法解决此问题。但是我发现让它按照您需要的方式工作的唯一方法是在粘贴/更新/刷新操作之前将格式(在宏中)显式声明到有问题的目标范围。

我还认为有一种方法可以在您的 VBA 中禁用日期识别,但我不记得确切的代码。尝试在手动导入或执行更新时录制宏,您应该能够使用出现的内容。

编辑:刚刚进行了测试运行,并在您的连接字符串和目标添加后:

.WebDisableDateRecognition = True

如果您是从外部源中提取数据而不是复制/粘贴,那肯定可以解决问题。

于 2012-08-07T20:22:11.000 回答
0

为了以防万一这有帮助,我遇到了一个问题,即 excel 将我从网页中提取的信息自动格式化为 DATE 格式,修复,在导入窗口中,单击选项并取消选中自动日期格式化选项,之后,我的数据导入完美!

于 2013-03-03T11:18:47.023 回答