VBA Excel在文本框中提供当前日期
当用户单击宏按钮时,会出现一个对话框。此对话框主要是填写的(填写日期、电子邮件、制作人、网站等),用户只需输入姓名即可。问题是输入的日期是静态的,所以如果我输入“3/3/11”,它将一直保持这种状态,直到有人更改它 我想知道是否有办法让文本框始终显示当前日期(除非用户出于任何原因决定更改它)。我曾尝试将不同的内容放入文本框的“Value”部分(例如“getDate()”和“=Date()”),但迄今为止都没有成功 谢谢,VBA Excel在文本框中提供当前日期,excel,vba,date,textbox,Excel,Vba,Date,Textbox,当用户单击宏按钮时,会出现一个对话框。此对话框主要是填写的(填写日期、电子邮件、制作人、网站等),用户只需输入姓名即可。问题是输入的日期是静态的,所以如果我输入“3/3/11”,它将一直保持这种状态,直到有人更改它 我想知道是否有办法让文本框始终显示当前日期(除非用户出于任何原因决定更改它)。我曾尝试将不同的内容放入文本框的“Value”部分(例如“getDate()”和“=Date()”),但迄今为止都没有成功 谢谢, Jesse Smotheron简单的方法是将要使用的日期函数放在单元格中,
Jesse Smotheron简单的方法是将要使用的日期函数放在单元格中,并使用LinkedCell属性从文本框链接到该单元格 在VBA中,您可以尝试使用:
textbox.Value = Format(Date(),"mm/dd/yy")
你很接近。将此代码添加到
UserForm\u Initialize()
事件处理程序中:
tbxDate.Value = Date
使用表单初始化事件,例如:
Private Sub UserForm_Initialize()
TextBox1.Value = Format(Date, "mm/dd/yyyy")
End Sub
在显示表单时,而不是在文本框的design timeProperties中,从代码设置值
Private Sub UserForm_Activate()
Me.txtDate.Value = Format(Date, "mm/dd/yy")
End Sub
这里有一个更简单的版本。在要显示日期的单元格中键入
=Today()
将单元格格式化为所需的日期格式,并且Bob是您的叔叔。:) 事实上,它没有看上去那么复杂
Sub
today_1()
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = Date
End Sub
我知道这是一个非常古老的帖子,但我以前用过这个 您可以随时调整以激活。现在方法是另一种方法。只是一个选择
Private Sub UserForm_Initialize()
Textbox1.Text = Format(Now(), "mmddyyyhhmmss")
End Sub
你是说,把它藏在宏按钮后面?现在,我觉得在文本框的“值”部分输入的任何内容都被视为文本字符串,我将查看LinkedCell,谢谢,您将代码放在哪里?用户表单只是弹出,但没有地方实际分配值。这只是我之前输入的预分配值,以及用户输入的任何值。我也不想在输入所有值后更改该值,以防用户不希望这样做。感谢project explorer中的帮助右键单击表单并打开代码,然后将代码添加到UserForm_Initialize()EventHandler中。在我问这个问题之前,我已经尝试过了。我想我把代码放错地方了。发生的情况如下:用户单击宏按钮,按钮打开用户窗体,用户输入任何内容并单击“运行”按钮。我会在用户窗体打开之前输入此代码吗?如果是这样,我会得到一个运行时错误“424”对象。谢谢右键单击表单设计器并选择“查看代码”。把上面的代码放在那里。将
TextBox1
更改为文本框的名称。酷豆,它起作用了。在我转到“查看代码”时,它会自动转到“UserForm\u Click()”,所以我只是将其更改为“UserForm\u Activate()”。谢谢你,我刚意识到你一开始就是这么告诉我的。我的错,再次感谢。这将在单元格中用作公式,但问题是用于文本框,因此它需要是VBA函数。此外,=today()是一个易失函数,这意味着重新计算链中引用该单元格的任何内容也会变为易失函数。避开!这并不能回答原来的问题。此外,您正在设置单元格公式,然后在下一步中覆盖它。