我有一个Excel文件,我需要将扫描的条形码插入选定的单元格,然后我需要选择下一个单元格而不是下面的单元格。例如:
当前所选单元格= A1,扫描并插入条形码。现在,当前选定的单元格应该是B1而不是A2。
我尝试添加文本框,并且工作正常,但是发现了问题。例如,如果我的条形码是20010,我的代码将拆分一个数字并插入一个单元格中。因此,我没有在A1 20010中拥有2,而是在B1 0中,在C1 0中在D1 1中以及在E1 0中拥有。
这是我的代码:
Private Sub TextBox1_Change()
If Len(TextBox1.Value) > 0 Then
ActiveCell.Value = TextBox1.Value
ActiveCell.Offset(0, 1).Activate
TextBox1.Value = ""
TextBox1.Activate
End If
End Sub
PD。我不知道条形码的长度。永远不会一样。
我该如何解决我的问题?
答案 0 :(得分:2)
扫描仪通常在扫描后可以编程输入回车符或制表符,但是如果您不愿意使用VBA来完成此操作,则可以摆脱文本框并在其工作表代码中使用它您要扫描到的工作表:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row = 1 Then
ActiveCell.Offset(-1, 1).Select
End If
End Sub
如果您希望它从A列移动到B到C而不管行号,则将上面的更改为
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
ActiveCell.Offset(-1, 1).Select
End Sub