在vba动态控件解决方案上退出文本框

在vba动态控件解决方案上退出文本框,vba,excel,Vba,Excel,我已经创建了一个充满动态创建的文本框的表单。当用户离开单元格时,我需要将框重新格式化为货币格式。动态创建的表单没有文本框退出事件,是否有解决方法 我尝试了change事件和keypress事件,但没有得到任何有用的输出。除了放一个“格式化文本框”按钮之外,有没有其他方法来模拟事件或做一些事情来获得正确的格式 我可以通过将值放到excel中,将单元格格式化为货币,然后以正确的格式将其拉回到用户窗体来“伪造”,但这对用户输入数据没有帮助。有什么想法吗 我可以建议跟踪变更事件并执行以下操作吗 Priv

我已经创建了一个充满动态创建的文本框的表单。当用户离开单元格时,我需要将框重新格式化为货币格式。动态创建的表单没有文本框退出事件,是否有解决方法

我尝试了change事件和keypress事件,但没有得到任何有用的输出。除了放一个“格式化文本框”按钮之外,有没有其他方法来模拟事件或做一些事情来获得正确的格式


我可以通过将值放到excel中,将单元格格式化为货币,然后以正确的格式将其拉回到用户窗体来“伪造”,但这对用户输入数据没有帮助。有什么想法吗

我可以建议跟踪变更事件并执行以下操作吗

Private Sub TextBox1_Change()
If InStr(TextBox1.Value, "$") Then
Label1.Caption = "Money"
Else
Label1.Caption = "Cents"
End If
End Sub

我可以建议跟踪变更事件并执行以下操作吗

Private Sub TextBox1_Change()
If InStr(TextBox1.Value, "$") Then
Label1.Caption = "Money"
Else
Label1.Caption = "Cents"
End If
End Sub

编写一个封装文本框的类怎么样?然后,您可以在类中处理退出事件,并保持所创建的所有对象(文本框)的格式设置正确?对于
WithEvents
文本框,
退出
事件不会公开。另一种选择是阅读第6篇帖子:@PeterT我不知道怎么做。这是我第一次使用动态控件,我不知道如何封装文本框。@Rory,谢谢。我在看那个。看起来可能有用。写一个封装文本框的类怎么样?然后,您可以在类中处理退出事件,并保持所创建的所有对象(文本框)的格式设置正确?对于
WithEvents
文本框,
退出
事件不会公开。另一种选择是阅读第6篇帖子:@PeterT我不知道怎么做。这是我第一次使用动态控件,我不知道如何封装文本框。@Rory,谢谢。我在看那个。看起来它可能有用。