我有一个名为UserForm1
的Excel表单,其中包含具有此属性的标签:
此标签的属性为Visible=False
。我想在用户单击CommandButton1时使标签可见,因为我编写了下一个代码:
Private Sub CommandButton1_Click()
Me.Label6.Visible = True
Dim oficina_garsa, file_source, file_solds As String
Dim invoice_year, invoice_month As Integer
oficina_garsa = TextBox3.Value
file_source = TextBox1.Value
file_solds = TextBox2.Value
invoice_year = CInt(ComboBox1.Value)
invoice_month = ComboBox2.ListIndex
Debug.Print oficina_garsa, file_source, file_solds, invoice_year, invoice_month
Call MainProcess(oficina_garsa, file_source, file_solds, invoice_year, invoice_month)
End Sub
但它不起作用。所以我写了一些链接到CommandButton2的事件代码来测试这样的目的:
Private Sub CommandButton2_Click()
If Me.Label6.Visible = False Then
Me.Label6.Visible = True
Else
Me.Label6.Visible = False
End If
Application.Wait Now + TimeValue("00:00:03")
End Sub
最后一个代码工作正常,而第一个代码没有!但是在第一个代码中,Me.Label6.Visible = True
之后的下一个代码在没有错误消息的情况下运行整个。
我尝试用'UserForm1'替换'Me',但结果是一样的。为什么将Visible属性赋值为True在CommandButton2事件中起作用但在CommandButton1事件中不起作用?
答案 0 :(得分:0)
我知道这个线程已经很老了,但是当我遇到相同的问题时,我想我应该发布修复程序。
设置可见参数后,添加一行
Me.Repaint
这将重新呈现表单并更新元素的可见性。我认为Repaint命令是特定于用户窗体的,因此不确定在其他元素无法正确呈现的情况下是否可以使用。