【发布时间】:2014-09-10 18:03:33
【问题描述】:
我正在尝试转换数字 -> 指定的日期格式。这仅在一列(D 列)上进行。这是代码-
'Changing date format (for UPLOADDATE column)
Application.ScreenUpdating = False
For Each c In Range("D2:D" & Cells(Rows.Count, "D").End(xlUp).row)
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
c.NumberFormat = "mm/dd/yyyy"
Next
Application.ScreenUpdating = False
现在,每当我的代码到达这一点时 - 它就会中断并显示以下错误:-
运行时错误“6”: 溢出
总的来说,我的代码所做的是将数据从另一个 excel 文件复制到 excel 的隐藏工作表(代码所在的位置)。使用日期格式(如上述代码中指定)更新列,然后更新文件中的所有数据透视表。
注意 - 在更改列的格式之前,我确实将隐藏工作表的可见性设置为 true
【问题讨论】:
-
您是否验证了单元格值可以在没有任何错误检查的情况下进行转换?也许您正在尝试转换无法转换的东西...
-
好的,所以这是一个更新的问题 - 当我复制粘贴数据时,粘贴列中的数据以某种方式将其格式更改为类似于 ########,当它应该就像 20140908,因此代码无法转换值......在这种情况下应该怎么做?
-
如果是数字#######表示它是一个-ve值
-
@SiddharthRout 很抱歉很密集,但什么是 -ve 值?
-
@sous2817: support.microsoft.com/kb/182247