我发现了一个有趣的错误。我必须使用为第三方程序制作的工作表。有些细胞看起来很破损。它们充满了#符号。 Excel在公式栏窗口中显示负数,它们应为日期。
在VBA中,我看不到它的内容。一个简单的陈述:范围(“单元格地址”)。值导致溢出错误6.当我尝试查看它的类型时也会发生同样的情况。
由于我必须逐个单元地阅读所有Sheet,我想象的唯一解决方案是管理此错误。这样的事情:接下来的错误恢复 - 如果错误> 0 ......等等。
是否可以在不关闭运行时错误的情况下管理这些单元格?
答案 0 :(得分:1)
正如萨姆·沃德所提到的那样,###在单元格中“应该是一个日期”但显示负数的原因是你使用的是1900日期系统,并且具有负值, Excel无法显示。
此外,如果在引用该单元格的value属性时VBA中出现溢出错误,则该单元格中的值可能小于-657434。 (相当于1月1日100,这是VBA可以处理的日期范围的下限。)
如果出现上述情况,您可以通过访问value2属性,使用VBA恢复该单元格中的值。
Range("cell address").value2
当然不清楚为什么你应该有一个包含这种值的日期格式化单元格,所以你的工作表可能有其他问题。