【发布时间】:2021-08-22 10:17:37
【问题描述】:
当我放入我需要的数据时。我有一个包含今天日期的文本框,以及何时将数据传输到我的表格。日期更改。 例如: 表格中的日期:2021 年 4 月 6 日 2021 年 7 月 4 日 表中日期:06/04/2021 2021年4月6日
所以,我不明白为什么它改变的不是格式而是日期。
Private Sub userForm_Activate()
TextBox10.Text = Format(Now(), "dd/mm/yyyy")
End Sub
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("OportunidadesemAberto")
Dim le As Long
le = sh.Range("A" & sh.Rows.Count).End(xlUp).Row + 1
le = [Counta(OportunidadesemAberto!B:B)]
With sh
.Cells(le + 1, "P").Value = Me.TextBox10.Value
End With
End Sub
【问题讨论】:
-
您必须知道从文本框中获取的日期是一个字符串。之前应用的格式无关紧要... Excel 会根据区域设置对其进行转换。如果您的区域设置没有以“dd/mm/yyyy”格式显示日期,Excel 猜测并且如果月份数低于 12,它可能会出错。您必须事先将字符串转换为所需的日期格式...文本框中的日期是否与“04/06/2021”完全一样?我的意思是,日期分隔符是斜杠(“/”)?
-
解释得很好。是的,分隔符是“/”,我应该改变它吗? @FaneDuru
-
没有。请查看我发布的代码。我首先尝试演示,然后展示如何使用来自 Date...的文本框字符串...
-
你测试我发布的代码了吗?如果是,日期应该是正确的。如果您需要其他格式,现在可以正确格式化。如果是这种情况,我可以添加一个新行来更改
NumberFormat属性...我修改了代码以格式化(真实)复制日期...