【问题标题】:Userform textbox not populating correctly vba用户表单文本框未正确填充 vba
【发布时间】:2017-05-24 00:34:36
【问题描述】:

我正在构建一个包含用户输入数据的用户表单,然后它将其传输到另一个标题为“跟踪器”的工作表。作为表单的一部分,我用文本框中的当前日期标记所有条目,但在您运行表单、单击文本框并尝试输入内容之前,它不会出现。这是我的代码,希望能更清楚地传达我的项目。

Private Sub CommandButton3_Click()
   Dim LastRow As Long, ws As Worksheet

    Set ws = Sheets("Tracker")
    Sheets("Tracker").Select
    LastRow = ws.range("A" & Rows.Count).End(xlUp).Row + 1 'Finds the last blank row
    ws.range("A" & LastRow).Value = date_txtb.Text 'Adds the TextBox3 into Col A & Last Blank Row
    ws.range("B" & LastRow).Value = ComboBox1.Text 'Adds the ComboBox1 into Col B & Last Blank Row


End Sub

Private Sub date_txtb_Change()
date_txtb.Text = Format(Now(), "MM/DD/YY")
End Sub

Command Button 3 将数据从用户窗体传输到“跟踪器”表,下面的子代码是应该显示当前日期的文本框的代码。我可以添加或更改什么以确保在表单初始化后立即填充日期?任何帮助表示赞赏,谢谢!

【问题讨论】:

  • 那么你的问题是什么?你没问过吗?旁注:LastRow = ws.range("A" & Rows.Count).End(xlUp).Row 应该是LastRow = ws.range("A" & ws.Rows.Count).End(xlUp).Row(注意ws.Rows.Count 之前)。
  • 更新了帖子,希望能更清楚。表单初始化后,我需要填写日期。
  • 在您的用户表单中使用Private Sub UserForm_Initialize() 过程怎么样?
  • 我实际上已经尝试过了,但没有成功。 Private Sub UserForm_Initialize() UserForm1.Show date_txtb.Text = Format(Now(), "MM/DD/YY") End Sub
  • 然后edit您的问题并显示您尝试的详细说明。 “没有工作”也不是一个好的错误描述。始终告诉您您期望您的代码应该做什么以及它实际做了什么。

标签: excel vba


【解决方案1】:

使用 UserForm 事件,所以当加载用户表单时,会显示日期。

Private Sub UserForm_Initialize()
     date_txtb.Text = Format(Now(), "MM/DD/YY")
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多