gpt4 book ai didi

excel - 如何在 dd/mm/yyyy 格式的单元格中获取今天的日期?

转载 作者:行者123 更新时间:2023-12-04 22:30:44 31 4
gpt4 key购买 nike

我想将今天的日期(2018 年 11 月 4 日)放入此(dd/mm/yyyy)格式的单元格中:

    04/11/2018

然而,到目前为止的每一次尝试都会导致( mm/dd/yyyy 格式):
    11/04/2018

原始代码是:
    Dim sToday As String
sToday = Date
Cells(nCurrentRow, nCurrentColumn) = sToday

我尝试过的包括:
    Cells(nCurrentRow, nCurrentColumn).Value = sToday

和:
    Cells(nCurrentRow, nCurrentColumn).Select
Selection.NumberFormat = "dd/mm/yyyy;@"

和:
    sToday = Format(Date, "dd-mm-yyyy")

当我在消息框中输出字符串时,它总是以所需的格式显示: 04/11/2018
即使我以正确格式将日期作为纯字符串发布 04/11/2018格式还是变了!

Windows 10 区域设置符合我的要求(英国日期格式)。

单元格格式也设置为 dd/mm/yyyy .

最佳答案

我认为您的算法正在被 VBA US-Centric 日期偏好所迷惑。
无论您的 Windows 短日期区域设置如何,您只需将变量作为日期(而不是字符串)插入。

当 VBA 将今天的日期转换为字符串时,它是美国格式。因此,目标单元格中​​的 numberformat 不会对字符串产生任何影响,VBA 格式化函数也不会。这两者都作用于数字/日期,而不是字符串,就像你使用它的方式一样。

例如,尝试:

With Cells(1, 1)
.NumberFormat = "dd/mm/yyyy"
.Value = Date
End With

或者,使用您的变量分配:
   Dim dToday As Date
dToday = Date

With Cells(nCurrentRow, nCurrentColumn)
.Value = dToday
.NumberFormat = "dd/mm/yyyy"
End With

关于excel - 如何在 dd/mm/yyyy 格式的单元格中获取今天的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53139973/

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