等待数据input然后运行子。

我需要一个非常简单的系统,每次扫描时都会将条形码编号保存到工作表中。 它工作得很好,但我必须在每次扫描之间点击一个cmdbutton或按回车。 是否有任何我可以使用文本框更改后执行? 但是,如果我使用Private Sub txtCode_Change()作为标题,那么它只需要第一个数字的代码,并使用它,而不是等待.25秒的其余条形码被计算。 任何想法或帮助将不胜感激。

您可能可以configuration您的条形码扫描器在扫描的条形码之后发送EnterTab键。

  • 如果您的扫描仪发送一个Tab键,您可以使用TextBox_AfterUpdate事件:

     Private Sub txtCode_AfterUpdate() 'Do something. End Sub 
  • 如果您的扫描仪发送一个回车键,您可以使用TextBox_KeyDown事件:

     Private Sub txtCode_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _ ByVal Shift As Integer) If KeyCode = vbKeyReturn Then 'Do something. End If End Sub 
  • 如果您的条码是一个固定长度的string,您仍然可以使用TextBox_Change事件,如下所示:

     Private Const BARCODE_LENGTH As Integer = 12 Private Sub txtCode_Change() If Len(txtCode.Text) = BARCODE_LENGTH Then 'Do something End If End Sub 

希望有所帮助。