VBA学习笔记之⼊库单制作
Sub开单()
Set es = Cells.Find("*", , xlFormulas, , , xlPrevious) '注意es是最下⾯有数据的区域
a = es.Address
[b2] = "SM" & Format(Now(), "ymdhms") '根据当前时间⽣成不重复的⼊库单号
Range([a5], es.Offset(4)) = ""'清空之前的数据(因为要开新单)
[e2] = ""'清空供应商的数据
End Sub
Sub保存()
On Error GoTo100
Dim es As Range, a%
If Sheet2.[f:f].Find([b2]) = [b2] Then'这⾥的[b2]是在sheet1下运⾏的,⾃然指的是sheet1⾥的b2了MsgBox"已经保存过了!"'上⼀句判断单号是否重复
Else
100:
Set es = Cells.Find("*", , xlFormulas, , , xlPrevious)
'    a = Application.CountA(Sheet2.[a:a])
a = Application.CountA(Sheet2.Columns(1)) '与上⼀个语句相同效果,本质是Sheet.Range
If es.Row = 4Then MsgBox"没有填写内容": End
Range([a5], es).Copy Sheet2.Cells(a + 1, 1)
Sheet2.Cells(a + 1, "f").Resize(es.Row - 4) = [b2] '保存⼊库单,以下都是细节
Sheet2.Cells(a + 1, "g").Resize(es.Row - 4) = [e2] '保存供应商
Sheet2.Cells(a + 1, "h").Resize(es.Row - 4) = Now() '保存⽇期时间
MsgBox"保存成功!"vba自学好学吗
End If
End Sub
Sub计算()
Set es = Columns(3).Find("*", , xlValues, , , xlPrevious)
'Set es = Columns(3).Find("*", , xlFormulas, , , xlPrevious)与上⼀句同样效果(公⽰和值)
es_address = es.Address '只是看看es的地址
For Each Rng In Range([c5], es)
Rng.Offset(0, 2) = Rng.Offset(0, 1) * Rng
Next
End Sub

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。