Excel,更改日期格式,然后使列中的所有单元格看起来都是新的方式

时间:2011-12-13 23:40:23

标签: excel date format

我有一个文件,其中日期列的格式我无法进行计算,所以我将列更改为另一种格式,我可以减去日期。正如通常在excel中发生的那样,只有当我双击一个条目时,它才会更改为新格式。

有没有人知道如何强制列中的所有单元格更改为新格式,以便我的脚本能够减去整个文件的日期?

4 个答案:

答案 0 :(得分:1)

这是一个非常简单的解决方法:

  1. 插入空白列。

  2. 将空白列的格式更改为所需的日期格式。

  3. 复制包含不格式化日期的列。

  4. 右键单击空白格式化列的第一个单元格,选择“选择性粘贴”,然后选择“粘贴:值和操作:添加”。 (由于目标单元格为空,因此日期将保持不变。)单击“确定”。

  5. 日期现在显示为日期。

答案 1 :(得分:0)

如果您只想通过VBA执行此操作,可以使用以下内容:

Range("C1:C100").NumberFormat = Range("B2").NumberFormat

上面的示例只是将单元格C1-C100的格式更改为B2中的格式。

<强>更新: 我注意到你说格式工作正常,但显示为#######。当列不够宽以显示整个值时,通常会发生这种情况,因此手动调整大小或使用像belwo这样的内容应该可以解决您的问题:

Columns("C:C").EntireColumn.AutoFit

答案 2 :(得分:0)

您可能还想在相邻列中尝试=Datevalue()。我在这些情况下的经验是Excel不理解您的条目是日期。它们是文本,仅在格式更改时不会更改为日期。或者,您可以尝试使用文本到列进行转换。

答案 3 :(得分:0)

在你的vbScript中试试这个

objExcel.Cells(Row, Column).NumberFormat = "#0.00"