vba怎么对数据是否排序进行判断

vba如何对数据是否排序进行判断?
如何判断在excel中,下列数据是否按A1升序,B1降序,使用vba完成,最好使用自定义函数,能判断所有排序问题

姓名 性别 出生年月 职务b 部门 工资 奖金 病假天数
单国威 男 1954-2-9 营业员 服装部 521.40 48.00 9
苏丹平 女 1959-9-25 营业员 食品部 561.00 174.00 8
孙朝民 男 1967-1-14 柜组长 家电部 741.20 194.00 8
柴新犁 男 1969-3-26 营业员 服装部 605.10 146.00 7
刘志民 男 1975-8-15 营业员 食品部 546.10 175.00 7
林霞芳 女 1971-9-18 经理助理 服装部 621.50 129.00 5


------解决方案--------------------
给你一个单列的代码参考吧。
你自己可以再按你的需要修改一下。

VBScript code
Option Explicit

'入口参数:工作表,数据所在列号,起始行号,数据数量
Function getOrder(objSht As Worksheet, ByVal nCol&, ByVal lBeginRow&, ByVal lItemsNum&) As String
    Dim lFlag&, strTempA$, strTempB$
    If (lItemsNum < 2) Then getOrder = "Error!": Exit Function
    lItemsNum = lBeginRow + lItemsNum - 1
    strTempA = objSht.Cells(lBeginRow, nCol).Text
    lFlag = 0: Do While (lBeginRow < lItemsNum)
        lBeginRow = lBeginRow + 1
        strTempB = objSht.Cells(lBeginRow, nCol).Text
        lFlag = lFlag Or (strTempB > strTempA) And 1
        lFlag = lFlag Or (strTempB < strTempA) And 2
        If (lFlag = 0) Then lFlag = (strTempB = strTempA) And 4
        strTempA = strTempB
        If ((lFlag And 3) = 3) Then Exit Do
    Loop
    If (lFlag > 4) Then lFlag = lFlag Xor 4
    getOrder = Mid$("升序降序无顺序值相同", lFlag * 2 + (lFlag < 4), 2 - (lFlag > 2))
End Function

Sub Test()
    Debug.Print getOrder(Sheet1, 1, 2, 2)
    Debug.Print getOrder(Sheet1, 3, 2, 5)
    Debug.Print getOrder(Sheet1, 2, 3, 4)
    Debug.Print getOrder(Sheet1, 2, 4, 4)
    Debug.Print getOrder(Sheet1, 2, 4, 3)
    Debug.Print getOrder(Sheet1, 8, 2, 5)
' 假设把你主贴中的数据从 A1单元格 开始连续存放在 Sheet1 中。
'   执行结果如下:
'无顺序
'升序
'升序
'降序
'值相同
'降序
End Sub