Excel,更改日期格式,然后使列中的所有单元格都以新的方式显示
我有一个文件,其中日期列的格式是我无法进行计算的格式,因此我将该列更改为另一种可以减去日期的格式。不过,与excel通常发生的情况一样,只有双击某个条目时,它才会更改为新格式Excel,更改日期格式,然后使列中的所有单元格都以新的方式显示,excel,date,format,Excel,Date,Format,我有一个文件,其中日期列的格式是我无法进行计算的格式,因此我将该列更改为另一种可以减去日期的格式。不过,与excel通常发生的情况一样,只有双击某个条目时,它才会更改为新格式 有人知道我如何强制列中的所有单元格更改为新格式,以便我的脚本能够减去整个文件的日期吗?如果您只想通过VBA执行此操作,您可以使用以下方法: Range("C1:C100").NumberFormat = Range("B2").NumberFormat 上面的示例只是将单元格C1-C100的格式更改为B2中的任何格式 更
有人知道我如何强制列中的所有单元格更改为新格式,以便我的脚本能够减去整个文件的日期吗?如果您只想通过VBA执行此操作,您可以使用以下方法:
Range("C1:C100").NumberFormat = Range("B2").NumberFormat
上面的示例只是将单元格C1-C100的格式更改为B2中的任何格式
更新:
我注意到你说格式很好,但我认为是。这种情况通常发生在列不够宽,无法显示整个值时,因此手动调整其大小或使用类似belwo的方法应该可以解决您的问题:
Columns("C:C").EntireColumn.AutoFit
您可能还希望在相邻列中尝试
=Datevalue()
。我在这种情况下的经验是Excel不理解您的条目是日期。它们是文本,仅在格式更改时不会更改。或者,您可以尝试将文本转换为列来进行转换。在vbScript中尝试此操作
objExcel.Cells(Row, Column).NumberFormat = "#0.00"
下面是一个非常简单的解决方法:
这是一次性的事情,只是为了让我当前的脚本运行,所以我会使用这个画笔工具。尽管如此,我无法在我的excel(Mac2011)中找到它。你能确切地告诉我在哪里能找到它吗?尽管如此,它似乎不起作用。我相信这是因为所有单元格都设置了正确的格式,但只有双击它们,它们的外观才会改变。我用VBA解决方案更新了我的答案。我已经测试过了,当你调用它时,它会更新范围内的所有单元格。这段代码确实改变了格式,但我发现这毕竟不是我的问题。所有单元格都已具有正确的格式,但它们不会按照此格式显示!!当数字或日期显示为###########时,这是一个常见问题,您必须双击它们才能看到实际值。通常,当列太窄而无法显示值的全长时,会显示####。您可以添加类似“Columns(“C:C”).entireclumn.AutoFit”的soemthing,这可能会起到作用