用户窗体:初始化直到 TextBox 中的值发生变化
Userform: Iniialize until value changes in TextBox
我有带文本框的用户窗体。然后 'Other Data'!C6
中有值,在其他数据的单元格 C6 中是公式 =D6
.
然后我将值传递给单元格:
Private Sub TextBox3_Change()
ThisWorkbook.Worksheets("Other Data").Range("C6").Value = Me.TextBox3.Text
End Sub
从单元格获取值:
Private Sub UserForm_Initialize()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
Private Sub UserForm_Activate()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
Private Sub UserForm_Click()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
问题是打开用户窗体时,来自用户窗体的数字覆盖了 'Other Data'!C6
中的公式。这会影响我的 Excel 应用程序中的其他公式和计算。在我手动更改 UserForm 上的 TextBox 中的值之前,如何防止 'Other Data'!C6
覆盖?
每次更改文本框中的值都会触发更改事件并覆盖 C6。诀窍是在进行更改时通过关闭 EnableEvents 来停止初始化和其他事件的触发
Private Sub UserForm_Initialize()
application.EnableEvents = false
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
application.EnableEvents = true
End Sub
我有带文本框的用户窗体。然后 'Other Data'!C6
中有值,在其他数据的单元格 C6 中是公式 =D6
.
然后我将值传递给单元格:
Private Sub TextBox3_Change()
ThisWorkbook.Worksheets("Other Data").Range("C6").Value = Me.TextBox3.Text
End Sub
从单元格获取值:
Private Sub UserForm_Initialize()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
Private Sub UserForm_Activate()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
Private Sub UserForm_Click()
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
End Sub
问题是打开用户窗体时,来自用户窗体的数字覆盖了 'Other Data'!C6
中的公式。这会影响我的 Excel 应用程序中的其他公式和计算。在我手动更改 UserForm 上的 TextBox 中的值之前,如何防止 'Other Data'!C6
覆盖?
每次更改文本框中的值都会触发更改事件并覆盖 C6。诀窍是在进行更改时通过关闭 EnableEvents 来停止初始化和其他事件的触发
Private Sub UserForm_Initialize()
application.EnableEvents = false
Me.TextBox3.Text = ThisWorkbook.Worksheets("Other Data").Range("C6").Value
application.EnableEvents = true
End Sub