【问题标题】:How to refresh a form?如何刷新表格?
【发布时间】:2014-04-02 12:11:35
【问题描述】:

我有一个用户窗体,上面有一个按钮。我希望按钮“刷新”表单,换句话说,我希望表单结束,然后重新打开。

下面的代码不起作用,因为表单/宏已经结束,但我希望按钮执行此任务或类似任务。

sub command1.click()
end
userform1.show
end sub

我已经检查并尝试了大多数或所有我可以选择的用户表单“刷新”选项。这甚至可能吗?

【问题讨论】:

  • 你可以做UserForm1.Repaint
  • 除了重绘还有其他方法吗?
  • Me.Hide 然后Me.Show ?我知道刷新的全部意义是什么?定义 refreshing 并详细说明你为什么这样做。对我来说,这听起来像是一个糟糕的设计选择
  • 我同意@mehow。即使使用 .Repaint 也不理想,因为重绘是自动的。

标签: excel vba excel-2010 excel-2007


【解决方案1】:

这是一个非常简单的方法。只需使用 UserForm_Initialize 重新初始化用户表单

Private Sub UserForm_Initialize()
    TextBox1.Text = "" '<~~ Just an Example

    '
    '~~> Put here the code to re-initialize the userform which will refresh it
    '
End Sub

Private Sub CommandButton1_Click()
    TextBox1.Text = "Sid"

    MsgBox "Re-Initialzing the Userform"

    UserForm_Initialize
End Sub

【讨论】:

    【解决方案2】:
    Private Sub CommandButton1_Click()
        Unload Me
        UserForm1.Show
    End Sub
    

    【讨论】:

    • 感谢 Panda 的代码,但您能否添加一个简短的描述,让人们知道它的作用或您认为这应该解决问题的原因。谢谢。
    猜你喜欢
    • 2012-12-11
    • 1970-01-01
    • 2011-09-14
    • 2011-10-15
    • 2016-07-10
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    相关资源
    最近更新 更多