我有一个文件,其中日期列的格式我无法进行计算,所以我将列更改为另一种格式,我可以减去日期。正如通常在excel中发生的那样,只有当我双击一个条目时,它才会更改为新格式。
有没有人知道如何强制列中的所有单元格更改为新格式,以便我的脚本能够减去整个文件的日期?
答案 0 :(得分:1)
这是一个非常简单的解决方法:
插入空白列。
将空白列的格式更改为所需的日期格式。
复制包含不格式化日期的列。
右键单击空白格式化列的第一个单元格,选择“选择性粘贴”,然后选择“粘贴:值和操作:添加”。 (由于目标单元格为空,因此日期将保持不变。)单击“确定”。
日期现在显示为日期。
答案 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"