VBA Excel在文本框中提供当前日期

时间:2011-05-03 20:38:37

标签: excel vba date textbox

当用户单击宏按钮时,会出现一个对话框。此对话框大部分已填写(日期,电子邮件,制作人,网站等已填写),所有用户需要输入的名称。问题是输入的日期是静态的,所以如果我输入“3/3/11”它会保持这种状态直到有人改变它。

我想知道该文本框是否有某种方法可以始终显示当前日期(除非用户因任何原因决定更改它)。我尝试将不同的东西放入文本框的“值”部分(例如“getDate()”和“= Date()”),但到目前为止还没有成功。

谢谢,

Jesse Smothermon

7 个答案:

答案 0 :(得分:12)

使用表格Initialize event,例如:

Private Sub UserForm_Initialize()
    TextBox1.Value = Format(Date, "mm/dd/yyyy")
End Sub

答案 1 :(得分:1)

执行此操作的简单方法是将要使用的Date函数放在Cell中,并使用LinkedCell属性从文本框链接到该单元格。

从VBA您可以尝试使用:

textbox.Value = Format(Date(),"mm/dd/yy")

答案 2 :(得分:1)

在显示表单的代码中设置值,而不是在文本框的design-timeProperties中设置。

Private Sub UserForm_Activate()
    Me.txtDate.Value = Format(Date, "mm/dd/yy")
End Sub

答案 3 :(得分:0)

你很亲密。在UserForm_Initialize()事件处理程序中添加此代码:

tbxDate.Value = Date

答案 4 :(得分:0)

这是一个更简单的版本。在单元格中,您希望日期只显示类型

=Today()      

将单元格格式化为您想要的日期格式,Bob是您的叔叔。 :)

答案 5 :(得分:0)

实际上,它并不像看起来那么复杂。

Sub 
  today_1()
  ActiveCell.FormulaR1C1 = "=TODAY()"
  ActiveCell.Value = Date
End Sub

答案 6 :(得分:0)

我知道这是非常古老的帖子,但我之前已经使用过这个

您可以随时调整以激活。现在方法是另一种方式。只是一个选项

Private Sub UserForm_Initialize()

Textbox1.Text = Format(Now(), "mmddyyyhhmmss")

End Sub