バーコードの入力方式が分かりませんが、昔あったタイプの、PS/2端子に接続するテンキーエミュレート型の物と仮定しますね。
そうすれば、バーコードを読み込むときに、テンキー(もしくはキーボード)で任意の文字列を打ち込んでEnterキーを押すという動作と同様の信号をバーコードリーダーが出しますので、Excel側としては普通にセルへの入力を受け付けたのと同じであるということになりますので、ExcelのVBAとしては、Worksheet_Change というイベントでバーコード入力があったことを取得できるはずです。
したがって、以下のソースを目的のシートに入れて下さい。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SameChk As Boolean
SameChk = True
If Target.Row > 1 Then
For i# = 1 To Target.Row - 1
If Target.Value = Target.Offset(RowOffset:=i - Target.Row) Then
SameChk = False
Exit For
End If
Next i
If SameChk = False Then
Target.Value = Empty
Target.Activate
End If
End If
End Sub
232Cタイプのものであったり、USBタイプのものであったりしても同様です。バーコード入力があった時点で発生するイベントの中に上のソースを貼り付けてください。ただしその場合、もしかしたら、
Target.Activate
の部分を、
Target.Offset(RowOffset:=1).Activate
とする必要があるかもしれません。
お礼
早速できました! 本当にありがとうございます。完璧です! なんと御礼申し上げてよいか分からないくらい 本当に助かりました。