[Excel vba userform清除文本框后将触发更新

问题描述 投票:0回答:2

我有一个带有5个文本框的简单用户窗体。我可以使用“ ADD”命令按钮处理数据,但是,考虑到一个会话中可能有100个条目,如果使用子[last textbox] _afterupdate()触发该过程,则会更快,更轻松。

问题:清除文本框时,最后一个会再次触发该过程。这是代码:

Private Sub txtagainst2_afterupdate()


Set rTeam = [A4:A50].Find(txtTeam, lookat:=xlWhole)
Set rTeam = rTeam.Resize(1, 15)
With rTeam
    code to do stuff with the textbox values
End With
txtTeam = ""
txtFor1 = ""
txtAgainst1 = ""
txtFor2 = ""
txtAgainst2 = ""
txtTeam.SetFocus

End Sub

我已经尝试了几种可能性,但无法破解。

任何建议或解决方案将不胜感激。

谢谢你,彼得

我有一个带有5个文本框的简单用户窗体。我可以使用“ ADD”命令按钮处理数据,但是,考虑到一个会话中可能有100个条目,如果...

excel vba controls userform
2个回答
0
投票

为了防止代码触发自身(或任何其他代码),您需要暂时禁用触发事件运行的代码行周围的事件:


0
投票

迈克尔。谢谢您的解决方案是我在发布之前尝试过的解决方案,但是由于某种原因,逐步操作返回到该过程的开头并再次运行该过程(与以前一样)。我刚刚再次尝试了一下,结果相同。它不会第二次更新,因为txtAgainst2为空。

© www.soinside.com 2019 - 2024. All rights reserved.