欢迎来到天天文库
浏览记录
ID:44868844
大小:24.51 KB
页数:3页
时间:2019-10-31
《扫描枪条码枪加excel》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、描枪只是一个输入设备(相当于另类的键盘)而已,只有输入字符到Excel中的功能,不会有查找、定位、替换的判断与操作功能。这种判断与操作,只能由软件提供,可以由输入设备的输入来触发软件去执行。可以用VBA写一段代码到Ecxel中,在你输入内容时,立即查找当前表,找到有其他相同的,就清除之。---------------------------------------因为楼主并没有说明你是如何录入的(比如:是固定在一个单元格中输入,还是随机在任意单元输入),我针对随机单元格录入的情况,写了一段。功能如下:1)支持在一个工作表的任意单元格输入数据;2)
2、在录入完成后,Excel自动检查是否存在另一个单元格的内容与所录入内容完全相同;3)如存在,则清除当前单元格与所找到单元格的内容;4)光标自动定位到所清除的两单元格中行号小的那一个上,以便继续录入;5)如不存在,则什么都不做,就是正常录入了一个单元格数据;在需要此功能的那个工作表标签上点右键,选择“查看代码”打开宏编辑器,在右边的空白处贴上如下代码,就可以实现上述功能,全自动工作,无需手工执行宏(也就是说,你只要用扫描枪连续扫描就OK了,仿佛是的扫描枪具有了楼主所述的功能一样。):PrivateSubWorksheet_Change(ByValT
3、argetAsRange)DimmAsRange,strAsStringApplication.EnableEvents=Falsestr=Target.TextIfstr<>""ThenForEachmInRange(Range("A1"),ActiveCell.SpecialCells(xlLastCell))IfNot(m.Row()=Target.Row()Andm.Column()=Target.Column())Andm.Text=strThenm.ClearContentsTarget.ClearContentsIfm.Row()<
4、Target.Row()Thenm.SelectElseTarget.SelectExitForEndIfNextmEndIfApplication.EnableEvents=TrueEndSub另,如果因为异常,导致宏不自动动作了,请关闭Excel(不是这个文件,而是整个Excel)并重新打开,就能恢复自动了。现在在一张空白EXCEL表格中,我想在A栏和D栏之间输入数据,例如A是产品代码,D是该产品的型号代码,如何在扫完A后记录下,光标自动跳到D栏,下个扫的型号代码就会自动输入D栏,然后下面又会跳到A2继续输入产品代码,扫完去D2输入型号代码。
5、。如此循环下去期待与上面的方法一样,只是代码换成这样:PrivateSubWorksheet_Change(ByValTargetAsRange)IfTarget.Column()=1ThenCells(Target.Row(),4).SelectElseIfTarget.Column()=4ThenCells(Target.Row()+1,1).SelectEndIfEndSub扫描枪在EXCEL表扫描条码时录入数据,然后由这些数据再生成个新数据,然后通过标签打印机自动打印扫描数据到数据自动录入到当前单元格应该是扫描枪程序做的,后续vba宏可以
6、实现你的功能。包括数据二次计算,调用打印,单元格重新定位等待下次扫描。如果输入条码的列在1列在sheet1下新建函数如下:PrivateSubWorksheet_Change(ByValTargetAsRange)If(Target.Column=1)ThenSheet1.Cells(Target.Row,2)=Target+100Sheet1.PrintOutSheet1.Cells(Target.Row+1,1).ActivateEndIfEndSub这个效果是,修改当前行第二列数字为条码+100,打印sheet1,设定下一行第一列为焦点,你
7、可以继续扫描。
此文档下载收益归作者所有