【问题标题】:VBA Excel - overflow error 6 - unknown typeVBA Excel - 溢出错误 6 - 未知类型
【发布时间】:2013-11-11 09:41:56
【问题描述】:

我发现了一个有趣的错误。我必须使用为第三方程序制作的工作表。一些细胞看起来已经受损。它们用# 符号填充。 Excel 在公式栏窗口中显示负数,它们应该是日期。

在 VBA 中,我也看不到它的内容。一个简单的语句: Range("cell address").value 导致溢出错误 6. 当我尝试查看它的类型时也会发生同样的情况。

由于我必须逐个单元格地阅读所有工作表,因此我想象的唯一解决方案是管理此错误。类似这样的事情: On error resume next - if err > 0 ... etc.

是否可以在不关闭运行时错误的情况下管理这些单元格?

【问题讨论】:

标签: excel vba overflow


【解决方案1】:

正如 Sam Ward 所暗示的,### 在“应该是日期”但显示负数的单元格中的原因是您使用的是 1900 日期系统,并且具有负值,这Excel 无法显示。

此外,如果您在引用该单元格的 value 属性时在 VBA 中遇到溢出错误,则该单元格中的值可能小于 -657434。 (相当于 100 年 1 月 1 日,这是 VBA 可以处理的日期范围的下限)。

如果是上述情况,您可以使用 VBA 通过访问 value2 属性来恢复该单元格中的值。

Range("cell address").value2

当然不清楚为什么你应该有一个包含这种值的日期格式单元格,所以你的工作表可能有其他问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多