Excel VBA
EXCEL VBA实现相应文字的数值求和
2017-07-26 16:21:42

在平时工作生活中,经常需要按照一定的标准对应的数据求和。如在公司的考勤系统中。不同的类别对于不同的考勤分值。

如下图所示:

我们需要依据表一的标准,把表二相应文字对照换算为数值并求和。如下图

一般我们都会用VLOOKUP函数和sum函数结合使用取值和求和。

这里我们介绍一下VBA的方法

详细源码:

Sub 替换求和()

    Dim A, D, E As Integer, F(1 To 7) As Single, H As Byte

    With Sheets("表一")

        A = .Range("A1").CurrentRegion

    End With

    With Sheets("表二")

        D = .Range("A1").CurrentRegion

        For E = 2 To UBound(D)

            For H = 2 To 8

                If D(E, H) <> "" Then

                    If Not IsError(Application.VLookup(D(E, H), A, 1, 0)) Then

                        F(H - 1) = Application.VLookup(D(E, H), A, 2, 0)

                    End If

                End If

            Next

            D(E, 9) = Application.sum(F): Erase F

        Next

        .Range("A1").Resize(UBound(D), UBound(D, 2)) = D

    End With

End Sub