练习:入库单信息存储为数据表。
Sub 入库单()
Dim LastRow As Long, i As Long
Dim DataCount As Long
'计算入库的数据条数
DataCount = Application.CountA(Sheets("入库单").Range("a6:a10"))
With Sheets("数据表")
'检查入库单号是否已经存入数据表中
If Application.CountIf(.Range("a:a"), Sheets("入库单").Range("b4")) > 0 Then
MsgBox "入库单号已存在,请勿重复输入数据"
Exit Sub'退出过程
Else
For i = 1 To DataCount
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1 '获取数据表的向下的第一个空行行号
'录入明细的入库数据
.Cells(LastRow, 1) = Sheets("入库单").Range("b4").Value
.Cells(LastRow, 2) = Sheets("入库单").Range("f4").Value
.Cells(LastRow, 3).Resize(1, 5) = Sheets("入库单").Range("a" & i + 5).Resize(1, 5).Value
Next
MsgBox "一共输入了" & DataCount & "条数据"
End If
End With
End Sub
- 在这个VBA过程中,使用了工作表函数CountA计算入库单据的条数,CountIf函数检测入库单据是否有重复。
- 适当使用工作表函数,能够很方便的实现一些简单的小功能。