gpt4 book ai didi

vba - 使用以下命令更改 Excel 中的日期格式

转载 作者:行者123 更新时间:2023-12-02 09:34:25 28 4
gpt4 key购买 nike

我有一个 Excel 工作表,其中一列的日期日期格式为 "yyyyMMdd",我想将其格式设置为 "yyyy/MM/dd"

为此,我尝试在宏内使用以下行,但它将单元格数据转换为“###.....#”,而不是更改日期格式。

Sheet1.Range("C3", "C302").NumberFormat = "yyyy/mm/dd"
...
result = "#####...#"
...

谁能告诉我为什么会这样?还有其他方法可以做到这一点吗?

最佳答案

如果日期/时间单元格中充满 # 符号,则表示该列太窄而无法显示格式。

使列变宽以容纳所选日期格式的整个宽度。

请参阅此屏幕截图。两列具有相同的格式。 A 列太窄,无法显示日期。 B 列足够宽。

enter image description here

在聊天中讨论后编辑:

您在聊天中发布的屏幕截图是这样的: enter image description here

您所指的“日期”不是日期。这些数字远远高于 Excel 在本世纪使用的日期数字。

Excel 将日期存储为整数,从 1 开始表示 1/1/1900。您在屏幕截图中显示的数字远高于 Excel 日期。

enter image description here

您的号码 20150930 不是 Excel 认为的 2015 年 9 月 30 日号码。对于 Excel,该日期将为数字 42277,您可以将其完美格式化为该日期。

使用格式字符串格式化的“日期”显示为 ##### 的原因是这些数字远远高于 Excel 可以解释为日期的数字。

您需要将数字转换为真实的 Excel 日期,这可以使用简单的公式来完成。通过单元格 A1 中的第一个“日期”数字,您可以使用公式

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

在此屏幕截图中返回 Excel 视为 2015 年 9 月 30 日的真实日期的值:

enter image description here

因此,所有 # 符号的原因是您尝试格式化为日期的数字对于 Excel 算法中的日期来说太大。

关于vba - 使用以下命令更改 Excel 中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34737587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com