Excel - date - vba文本框到表格



我有下面的vba为userform文本框,设置今天的日期。现在,当数据输入到我的产品清单表中的表格中时,日期将被重新格式化。

Private Sub UserForm_Initialize()
txt_date.Value = Format(Date, "d/m/yyyy")
End Sub

所以当数据被添加到工作表时,它使m/d/yyyy。

VBA中使用的数据类型+您写回工作表的方式将影响Excel如何解释您的数据。看看其他例子:

Sub TestDate()
Dim datestr As String, dateDate As Date

datestr = "11/05/2021"
dateDate = "11/05/2021"

Sheet1.Range("A1").Value = CDate(datestr)
Sheet1.Range("C1").Value = dateDate

Sheet1.Range("A2").Value2 = CDate(datestr)
Sheet1.Range("C2").Value2 = dateDate
End Sub

使用"value2"您将看到如何将变量的原始数据定义为"日期"。类型被发送回Excel。恕我直言,这是最好的方法,但你必须直接在Excel工作表中设置正确的格式(select column>单元格>日期=比;选择你想要的格式(你也可以在vba中设置,但我认为这里不需要)。

祝你好运,

最新更新