我有一个用户窗体,其中的标签每次更改工作表“价格计算”时都会更新。除了关闭用户表单然后再次打开它的情况之外,其他所有内容似乎都可以正常工作。那么所有标签都是空的。如果我打开工作表“价格计算”并在其中进行更改,那么在打开用户窗体时,我将再次获得用户窗体的值。如何在打开用户窗体时也更新标签?
这是我的工作表“价格计算”代码:
Private Sub Worksheet_Calculate()
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Sheets("Price calculation")
Summary.Controls("Label630").Caption = Ws.Range("I1850").Value
Summary.Controls("Label635").Caption = Ws.Range("I1850").Value
Summary.Controls("Label634").Caption = Ws.Range("I1854").Value
Summary.Controls("Label633").Caption = Ws.Range("I1855").Value
Summary.Controls("Label632").Caption = Ws.Range("I1856").Value
Summary.Controls("Label631").Caption = Ws.Range("I1860").Value
End Sub
用户窗体打开:
Sub DisplaySummary()
Summary.Show (vbModeless)
End Sub
答案 0 :(得分:2)
使用Prive Sub Userform_Initialize()
可以在用户窗体打开时设置所需的标签。如下所示:
Private Sub Userform_Initialize()
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Sheets("Price calculation")
Me.Controls("Label630").Caption = Ws.Range("I1850").Value
Me.Controls("Label635").Caption = Ws.Range("I1850").Value
Me.Controls("Label634").Caption = Ws.Range("I1854").Value
Me.Controls("Label633").Caption = Ws.Range("I1855").Value
Me.Controls("Label632").Caption = Ws.Range("I1856").Value
Me.Controls("Label631").Caption = Ws.Range("I1860").Value
Set Ws = Nothing
End Sub