Excel VBA:使用DatePicker在单元格中获取正确的日期

时间:2014-07-14 17:02:32

标签: excel vba excel-vba

我有一个带有DatePicker控件的UserForm。 它工作正常,除非将所选日期复制到电子表格。 这是代码:

Range("A1").Value = UserForm1.DTPicker1.Value

返回:

00:00:00

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

3 个答案:

答案 0 :(得分:2)

您的单元格格式可能设置为“时间”而不是“日期”。

尝试更改它以查看它是否有效。

此外,在此步骤之后格式化“常规”,以查看是否有任何内容粘贴在“A1”中。

答案 1 :(得分:0)

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

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

答案 2 :(得分:-2)

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

由于某些原因,当两者分开并且在目标单元格中​​显示零时,它将无法工作。该零是已关闭的日期的“时间”部分。虽然“日期”部分拒绝转移,但由于某种原因,时间确实如此,因此在单元格中读取零时间作为时间零点,即中午。

总结如下:

将DTPicker和转移控制保留在同一页面上,这应解决问题。

代码非常简单。这是

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