在用户窗体中填充文本框后,如何使宏立即运行?

时间:2019-06-10 21:27:39

标签: excel vba

我正在尝试建立一个用户窗体,该窗体将在用过滤条件填充单个文本框后立即过滤表。

过滤条件位于单个文本框中(此用户表单中输入数据的唯一位置)。

我正在使用条形码扫描仪填充文本框,然后将使用此条件来过滤表中的数据。

我希望在从条形码扫描仪中填充文本框后立即过滤数据(而不必按命令按钮来过滤数据)。

我一般来说对编程还是很陌生的,有什么想法吗?谢谢!

我创建了一个用户窗体,该窗体将过滤该数据,但是仅在按下命令按钮进行过滤之后。我希望在条形码扫描仪输入数据后自动发生这种情况。

更新我已经将代码移动到了下面的子代码中,并摆脱了命令按钮。现在,我希望能够在过滤数据后自动隐藏用户窗体。当我添加Userform1.Hide时,所有过滤器都从我的表中删除,但是当我注释掉该行时,它工作正常(但未隐藏用户窗体)。有什么想法吗?

  

Option Explicit Private Sub TextBox1_Change()

     

ActiveSheet.ListObjects(“ Table1”)。Range.AutoFilter字段:= 2,    Criteria1:= TextBox1.Value

     

Userform1.Hide

     

结束子

1 个答案:

答案 0 :(得分:0)

只要对Private Sub TextBox1_Change()进行了更改(即,对于输入的每个字符),都将调用TextBox1例程。因此,将您的代码放在此处。在每次通话时,请检查文本框是否已收到完整且有效的过滤器。如果没有,就返回。否则,请运行过滤器(并清除文本框以能够接收另一个过滤器)。