2017-07-13 8 views
0

バーコード番号をスキャンするたびにシートに保存する非常にシンプルなシステムが必要です。それは素晴らしいですが、私は各スキャンの間にcmdボタンをクリックするか、Enterキーを押す必要があります。テキストボックスが変更された後でexecuteを使うことができましたか?しかし、私が プライベートサブtxtCode_Change()を使用する場合 タイトルとして、それはコードの最初の番号だけを取り、残りのバーコードが代入されるのを待つ代わりに、それを使用します。どんなアイデアや助けも大歓迎です。データが入力されるのを待ち、サブを実行します。

答えて

1

おそらくを入力するか、スキャンしたバーコードの後に​​タブキー送信するようにバーコードスキャナを設定することができます。

  • スキャナがタブキーを送信する場合、あなたはTextBox_AfterUpdateイベントを使用することができます:あなたのスキャナが Enterキーを送信する場合、あなたはTextBox_KeyDownイベントを使用することができます

    Private Sub txtCode_AfterUpdate() 
        'Do something. 
    End Sub 
    
  • を:

    Private Sub txtCode_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _ 
              ByVal Shift As Integer) 
        If KeyCode = vbKeyReturn Then 
         'Do something. 
        End If 
    End Sub 
    
  • バーコードが固定長文字列は、あなたはまだ、次のような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 
    

お役に立てば幸いです。

+0

ありがとうございました! keydownは完全に機能します!私は本当に助けに感謝します! – Mdaox

関連する問題