将字符串值设置在一个单元格中,并避免被误解为美国日期。

12 浏览
0 Comments

将字符串值设置在一个单元格中,并避免被误解为美国日期。

我有一个非常简单的代码:\n

Cells(1,1).Value="10/02/2018"

\n我希望单元格A1的值为10/02/2018,无论是作为文本还是日期,但Excel太愚蠢了,在单元格A1中写入了02/10/2018。\n除了诅咒Excel程序员外,我该如何解决这个问题呢?\n谢谢

0
0 Comments

问题原因:Excel默认将带有斜杠的数值解释为日期格式,因此在将字符串值插入单元格时,可能会被误解为日期格式。

解决方法:为了避免字符串值被误解为日期格式,可以通过更改单元格的格式来指定所需的格式。

如果希望将值解释为日期格式,则在插入值之后将单元格格式设置为“mm/dd/yyyy”:

Cells(1,1).Value="10/02/2018"
Cells(1,1).NumberFormat = "mm/dd/yyyy"

如果希望将值解释为文本格式,则在插入值之前将单元格格式设置为文本格式:

Cells(1,1).NumberFormat = "@"
Cells(1,1).Value="10/02/2018"

0
0 Comments

问题出现的原因:在Excel中,当我们通过代码将一个字符串值写入单元格时,如果这个字符串值满足日期的格式,Excel会自动将其识别为日期,而不是字符串。这可能导致日期被误解为美国日期格式(月/日/年)。

解决方法:我们可以通过更改单元格的格式来避免将字符串日期误解为美国日期格式。我们可以使用以下代码将单元格的日期格式更改为日/月/年格式:

Cells(1, 1).NumberFormat = "DD/MM/YYYY"

接下来,我们可以使用以下代码将正确的日期写入单元格:

Cells(1, 1).Value = DateSerial(2018, 2, 10) 'DateSerial(Year, Month, Day)

然而,我强烈建议使用ISO 8601日期格式(YYYY-MM-DD),这是唯一一种不会被人类误解的日期格式。

0