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

fieldset{padding:10px;}

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 FunctionSub 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都在努力为你驱逐烦恼焦躁,

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

相关文章:

你感兴趣的文章:

标签云: