VBA Excel在文本框中提供当前date

我有一个对话框,当用户单击一个macrosbutton时出现。 这个对话框大部分都是填写的(date,电子邮件,制作人,网站等被填写),所有用户需要做的就是input他们的名字。 问题是input的date是静态的,所以如果我input“3/3/11”,它会保持这种状态直到有人改变它。

我想知道是否有某种方式,该文本框始终显示当前date(除非用户决定改变它,无论什么原因)。 我已经尝试将不同的东西放入文本框的“值”部分(如“getDate()”和“= Date()”),但到目前为止还没有成功。

谢谢,

Jesse Smothermon

使用表单Initialize事件,例如:

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

这样做的简单方法是将要使用的Date函数放入单元格中,并使用LinkedCell属性链接到文本框中的单元格。

从VBA你可以尝试使用:

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

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

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

这是一个更简单的版本。 在单元格中,您希望显示的date只是input

 =Today() 

将单元格格式化为你想要的date格式,Bob是你的叔叔。 🙂

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

 tbxDate.Value = Date 

事实上,这似乎并不复杂。

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