【问题标题】:VBA Userform not closing on command button clickVBA用户窗体未在命令按钮单击时关闭
【发布时间】:2018-06-09 23:54:01
【问题描述】:

我在 Excel VBA 中运行一个用户窗体,它似乎可以工作,但是,它似乎没有关闭。基本上,一旦将数据输入表单并单击“提交”按钮,我希望将数据存储在某些单元格中并关闭表单并运行另一个子代码。

以下是我的 VBA 代码:

Private Sub CommandButton1_Click()
HaulerRatesForm.Label1.Caption = Worksheets("Dashboard").Range("A47").Value
HaulerRatesForm.Label2.Caption = Worksheets("Dashboard").Range("A48").Value
HaulerRatesForm.Label3.Caption = Worksheets("Dashboard").Range("A49").Value
HaulerRatesForm.Label4.Caption = Worksheets("Dashboard").Range("A50").Value

HaulerRatesForm.Show

End Sub

Private Sub UserForm_Initialize()

End Sub

Private Sub CommandButton2_Click()
Worksheets("Dashboard").Cells(47, "H").Value = HaulerRatesForm.TextBox1.Value
Worksheets("Dashboard").Cells(48, "H").Value = HaulerRatesForm.TextBox2.Value
Worksheets("Dashboard").Cells(49, "H").Value = HaulerRatesForm.TextBox3.Value
Worksheets("Dashboard").Cells(50, "H").Value = HaulerRatesForm.TextBox4.Value

Unload Me

Call Dashboardcodes2

End Sub

我似乎无法弄清楚为什么 Unload Me 似乎没有关闭窗口。关于我在这里做错了什么有什么想法吗?

【问题讨论】:

  • 这段代码在哪里?是正在运行的其他代码。卸载后运行的程序是什么?有terminate 程序吗?如果您尝试使用 F8 单步执行代码,问题会更清楚。 See this link 了解来自令人惊叹的 Chip Pearson 的更多 VBA 调试技术。
  • 是的,其他代码运行良好——我在没有表格的情况下对其进行了测试。这是一个很长的代码,并认为它可能会在问题中占据不必要的空间,并没有在其中添加它。代码没有问题,只有形式。为了澄清,该表单已添加到正在运行的代码中。它们都是我正在从事的一个大型项目的一部分。 Sub Dashboardcodes2 () 紧随其后。
  • 我在代码开头使用 Application.ScreenUpdating = False,但是 - 这会影响表单吗?
  • 它可以——在你问这个问题的时候,你可以试着评论它看看。以下是故障排除的要点:尽可能多地删除/注释掉代码,尽可能多地避免出现问题。然后,开始重新添加它,一次一行,直到你知道哪一部分是问题所在。
  • 这可能与昨天的this 问题重复。

标签: vba excel userform


【解决方案1】:

感谢 urdearboy,this 之前的回答似乎回答了我的问题。

我通过双击直接导航到用户窗体的按钮来使用以下代码:

Private Sub CommandButton2_Click()
Worksheets("Dashboard").Cells(47, "H").Value = HaulerRatesForm.TextBox1.Value
Worksheets("Dashboard").Cells(48, "H").Value = HaulerRatesForm.TextBox2.Value
Worksheets("Dashboard").Cells(49, "H").Value = HaulerRatesForm.TextBox3.Value
Worksheets("Dashboard").Cells(50, "H").Value = HaulerRatesForm.TextBox4.Value

Unload Me

End Sub

我将代码放在 Unload Me 下的 Dashboardcodes2 中,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多