来自Userform的date不能正确传输

我在Excel 2013中有一个用户窗体,其中一个文本框允许用户在澳大利亚地区DD / MM / YYYY中inputdate,当用户单击添加button时,它将其传输到工作表上的下一个可用行中。

我遇到的问题是,如果用户input了2012年1月1日的date,2013年1月8日它将它添加到工作表中作为2013年8月1日,如果我把date在2013年8月22日,正确input – 08/22/2013。 如果我把这个date作为08/01/2013放在用户表单上,它将在2013年1月8日添加到工作表上。

我使用的两行代码是:工作表(“Data_Debt”)。范围(“A”和卓尔).NumberFormat =“dd / mm / yyyy”工作表(“Data_Debt”)。范围(“A”和卓尔).Value = UserForm4.TextBox1.Value

任何人都可以给我一些我做错了什么。

BTW。 我有工作表中的列设置为ShortDate格式。

提前致谢

基思

以Stringforms获取date,然后使用DateSerial()函数:

Sub DepositDate() Dim sD As String, D As Date sD = Application.InputBox(Prompt:="Please enter date as dd/mm/yyyy", Type:=2) ary = Split(sD, "/") Range("A1").Value = DateSerial(ary(2), ary(1), ary(0)) Range("A1").NumberFormat = "dd/mm/yyyy" End Sub