【发布时间】:2023-03-04 05:00:01
【问题描述】:
我有一个由专有软件生成的工作簿 (.xls),其中包含 Excel 仅识别为字符串的日期 (dd/mm/yy hh:mm:ss)。
大约有 18000 行和 10 列。我可以让 Excel 通过复制空白单元格、选择相关范围然后执行 PasteSpecial -Values -Add 来手动转换这些。或者,我可以在每一列上使用“文本到列”来触发更改为正确的 Excel 日期格式。
我想通过 VBA 子例程(下面的示例代码)来执行此操作。
Range("E1").Select 'blank cell
Selection.Copy
Range("A8").Select 'top left of range
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select 'to bottom right
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
但是,这似乎只影响了大约 35% 的选定单元格。 有趣的是,当我尝试使用替代 VBA 代码逐列执行“文本到列”时,情况也是如此。
我被困住了:你知道为什么会发生这种情况吗?还有其他选择吗?
【问题讨论】:
-
您可以在 Dropbox 之类的地方共享您的文件子集吗?您希望日期保持与日期相同的原始格式吗?
-
链接到 .xls here。我希望这些日期被 Excel 视为日期(即数字)。