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

Posted

技术标签:

【中文标题】VBA Excel 在文本框中提供当前日期【英文标题】:VBA Excel Provide current Date in Text box 【发布时间】:2011-08-18 00:57:20 【问题描述】:

当用户单击宏按钮时,会出现一个对话框。这个对话框大部分都是填写的(日期、电子邮件、生产者、网站等都填写),所有用户需要做的就是输入他们的名字。问题是输入的日期是静态的,所以如果我输入“3/3/11”,它将保持这种状态,直到有人更改它。

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

谢谢,

杰西·斯莫莫

【问题讨论】:

【参考方案1】:

我知道这是非常老的帖子,但我以前用过这个

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

Private Sub UserForm_Initialize()

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

End Sub

【讨论】:

【参考方案2】:

实际上,它并没有看起来那么复杂。

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

【讨论】:

这没有回答原始问题。此外,您正在设置单元格公式,然后在下一步中将其覆盖。【参考方案3】:

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

tbxDate.Value = Date

【讨论】:

你会把代码放在哪里?用户表单只是弹出,但没有地方实际分配值。这只是我之前输入的预分配值以及用户输入的任何值。我也不想在输入所有值后更改值,以防万一这不是用户想要的。感谢您的帮助 在项目资源管理器中右键单击表单并打开代码,然后在 UserForm_Initialize() 事件处理程序中添加代码【参考方案4】:

这是一个更简单的版本。在要显示日期的单元格中,只需键入

=Today()      

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

【讨论】:

这可以作为单元格中的公式使用,但问题是针对文本框,因此它需要是 VBA 函数。 另外,=today() 是一个 volatile 函数,这意味着重新计算链中引用该单元格的任何内容也会变为 volatile。避免!【参考方案5】:

在显示表单时从代码中设置值,而不是在文本框的设计时属性中。

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

【讨论】:

【参考方案6】:

使用表单初始化事件,例如:

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

【讨论】:

在我问这个问题之前,我最初尝试过。我想我将该代码放在错误的区域。以下是发生的情况:用户单击宏按钮,该按钮打开用户表单,用户输入任何内容并单击“运行”按钮。我会在用户表单打开之前输入此代码吗?如果是这样,我会收到运行时错误“424”所需的对象。谢谢 右键单击表单设计器并选择查看代码。把上面的代码放在那里。将 TextBox1 更改为您的文本框的名称。 酷豆,它奏效了。当我转到“查看代码”时,它会自动转到“UserForm_Click()”,所以我只是将其更改为“UserForm_Activate()”。谢谢 我才意识到你一开始就是这么告诉我的。我的错,再次感谢【参考方案7】:

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

您可以尝试使用 VBA:

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

【讨论】:

所以你的意思是,把它隐藏在宏按钮后面?现在我觉得在文本框的“值”部分输入的任何内容都被视为文字字符串,我会查看 LinkedCell,谢谢

以上是关于VBA Excel 在文本框中提供当前日期的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA:如何使旋转按钮控制多个文本框?

添加日期列vba

Excel实现双击插入当前日期时间

VBA Excel在单元格中分隔日期范围

如何用vba实现在EXCEL固定区域坐标内点击单元格,显示日期控件

如何使用 VBA 在 Excel 注释中查找和替换日期格式