我想建立一个Excel电子表格与条形码扫描仪的数据输入。 条形码扫描仪发送条码,然后一个标签或它如何编程的进入取决于密钥。
基本上我想建立一个Excel工作表,我们可以扫描6个条形码对每个项目,与扫描仪每一次Tab键到下一列,那么当它到达第6列的下一个选项卡将其移动到一个新行的下一个产品。
我希望这是有道理的。 它可以在MS Word来完成...例如,如果你创建一个表6列和推动片7次将移动到下一行。 我想这样做在Excel中。 谢谢
我想建立一个Excel电子表格与条形码扫描仪的数据输入。 条形码扫描仪发送条码,然后一个标签或它如何编程的进入取决于密钥。
基本上我想建立一个Excel工作表,我们可以扫描6个条形码对每个项目,与扫描仪每一次Tab键到下一列,那么当它到达第6列的下一个选项卡将其移动到一个新行的下一个产品。
我希望这是有道理的。 它可以在MS Word来完成...例如,如果你创建一个表6列和推动片7次将移动到下一行。 我想这样做在Excel中。 谢谢
该TAB或ENTER键触发已经在SelectionChange
事件。
所以,如果你对其他一些reaason 不需要使用这可能是做同样的事情的整洁一点点地Change
,而不是事件SelectionChange
事件。
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngLastColumn As Range
'Note: The {Tab} or {Enter} key triggers selectionChange event.'
' Modify the address of rngLastColumn as needed. It should be one column beyond
' the last column of your inputs, so if input use columns A:F, then it should
' be Range("G:G").
Set rngLastColumn = Range("G:G")
If Not Intersect(Target, rngValidColumns.Columns(7)) Is Nothing Then
'Insert a new row:'
Target.EntireRow.Offset(1, 0).Insert
'Select the first cell in the new row'
cells(Target.Row + 1, 1).Select
End If
End Sub
嗯...有很多从很多地方试验的代码收集片,然后调试后,我结束了以下VBA宏。 希望能帮助到你! :)
TAB
或ENTER
键被按下的Sub Worksheet_Change
运行。 F
留... [A]n
其中n
=行数。 VBA宏代码
Private Sub Worksheet_Change(ByVal Target As Range)
'Do nothing if more than one cell is changed or content deleted
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
'Column F
If Target.Column = "6" Then
'Insert new row bellow
ActiveCell.EntireRow.Offset(1, 0).Insert
'Select first cell of next row just inserted
ActiveSheet.Cells(ActiveCell.Row + 1, 1).Select
End If
End Sub
Private Sub Workbook_Activate()
Application.OnKey "{TAB}", "Worksheet_Change" 'TAB key press
Application.OnKey "~", "Worksheet_Change" 'Keyboard ENTER press
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "{TAB}"
Application.OnKey "~"
End Sub
也许我失去了在这个问题上的东西,但如果你选择你的六列,并与“创建列表”命令变换选择,那么每当你分页内的线,你会自动转到下一行的最后一个单元格。 此外,如果你在最后一行,一个新的将被创建。 IM不知道为什么你需要的是,宏?