跟单员用到的excel表格vba(用EXCELVBA做一个采购单)
跟单员用到的excel表格vba(用EXCELVBA做一个采购单)'点击有“《”插入符号的空格后触发回填Private Sub Worksheet_SelectionChange(ByVal Target As Range)2. 可以一直往下添加物料,点击插入符号后,就会按照G1单元格的行号,将该行内容回填回“采购单”的相应行内下面是我点击后回填的,数量和单位要手动填这一页的代码很简单,在哪里输入不用再说了吧
在本步骤,我们需要查看曾经出过并保存的单据,直接查看数据表会比较凌乱,此时,得将数据按表单样式重新复盘出来。
三:打开“物料表”,将G1单元格的文本颜色设置成与底色一样,上面讲过我们会在这个单元格里记录“采购单”点击后的行数,待会返回我们还得读取这个单元格的行数回填内容,改成与底色一样是为了不要那么难看,也为了不让处女座的人看着想删除。
1. 初打开这个表,是空白的,此时我们可以在第二行开始填入物料内容,序号不需要理会,它会自己填写,直接从名称开始填吧
直接从名称规格填就可以,序号和插入那个符号都是自动填写上去的,注意单价只能是纯数字
2. 可以一直往下添加物料,点击插入符号后,就会按照G1单元格的行号,将该行内容回填回“采购单”的相应行内
下面是我点击后回填的,数量和单位要手动填
这一页的代码很简单,在哪里输入不用再说了吧
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'点击有“《”插入符号的空格后触发回填
If Target.Column = 6 And Target.Row > 2 And Target.Text = "《" Then
'单价不是纯数字时,抛出异常
If IsNumeric(Cells(Target.Row 4).Text) = False Then
MsgBox ("单价必须是有效数字")
Range("f1").Select
Exit Sub
End If
If Cells(Target.Row 2).Value = "" Then
MsgBox "名称不能为空"
Range("f1").Select
Exit Sub
End If
If Cells(Target.Row 3).Value = "" Then
MsgBox "规格不能为空"
Range("f1").Select
Exit Sub
End If
'回填数据
If CInt(Range("g1")) > 0 Then
Sheets("采购单").Cells(Range("g1") 2).Value = Cells(Target.Row 2)
Sheets("采购单").Cells(Range("g1") 3).Value = Cells(Target.Row 3)
Sheets("采购单").Cells(Range("g1") 6).Value = Cells(Target.Row 4)
Sheets("采购单").Cells(Range("g1") 8).Value = Cells(Target.Row 5)
If CInt(Range("g1")) < 17 Then
Sheets("采购单").Cells(Range("g1") 1 2).Value = "以下空白"
End If
Range("g1") = ""
Range("f1").Select
Sheets("采购单").Select
End If
End If
'当捕捉到点击了“物料”表的第5列第2行以下时触发事件
If Target.Column < 5 And Target.Row > 2 Then
r = Target.Row
If Application.WorksheetFunction.CountA(Rows(r)) <> 0 Then
Cells(Target.Row 1).Value = Target.Row – 2 '自动填写序号
Cells(Target.Row 6).Value = "《" '自动填写插入符号
End If
End If
End Sub
'----------------------------------------------------------------------
本文全部完结