22、[VBA入门到放弃笔记] 函数与VBA

练习:入库单信息存储为数据表。

22、[VBA入门到放弃笔记] 函数与VBA_第1张图片
入库单
22、[VBA入门到放弃笔记] 函数与VBA_第2张图片
数据表

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函数检测入库单据是否有重复。
  • 适当使用工作表函数,能够很方便的实现一些简单的小功能。

你可能感兴趣的:(22、[VBA入门到放弃笔记] 函数与VBA)