Excel VBA:使用日期选择器将正确的日期输入单元格

Excel VBA:使用日期选择器将正确的日期输入单元格,vba,excel,Vba,Excel,我有一个带有日期选择器控件的用户表单。 它工作正常,除非将选定日期复制到电子表格中。 代码如下: Range("A1").Value = UserForm1.DTPicker1.Value 返回: 00:00:00 在单元格A1中,无论选择了什么日期。您可以将单元格格式设置为时间而不是日期 试着改变一下,看看是否有效 此外,在此步骤后设置格式设置为“常规”,以查看A1中是否粘贴了任何内容。确保传输数据的命令与DTPicker本身位于多页表单的相同表单或页面中 由于某些原因,当两者分开时,它将

我有一个带有日期选择器控件的用户表单。 它工作正常,除非将选定日期复制到电子表格中。 代码如下:

Range("A1").Value = UserForm1.DTPicker1.Value
返回:

00:00:00

在单元格A1中,无论选择了什么日期。

您可以将单元格格式设置为时间而不是日期

试着改变一下,看看是否有效


此外,在此步骤后设置格式设置为“常规”,以查看A1中是否粘贴了任何内容。

确保传输数据的命令与DTPicker本身位于多页表单的相同表单或页面中

由于某些原因,当两者分开时,它将不起作用,并将在目标单元格中显示零。该零是日期中已关闭的时间部分。尽管日期部分拒绝转移,但由于某种原因,时间会转移,因此单元格中的零时间被读取为时间零,即中午

总而言之:

将DTPicker和transfer控件保持在同一页上,这将解决问题

代码非常简单。它是

Sheet1.Range("AA9") = Me.DTPicker1.Value

您应该需要一个中间变量来获取它,如下所示:

t = Me.DTPicker1.Value
ws.Range("A1") = t