validationexcel中的列值是否被sorting

我有一个Excel列表,其中有一个sorting值ex.numbers,名称的列。 我想validation使用Vb脚本是否sorting值,而不是手动检查。 那么有没有任何代码或方法或函数在VBScript中validation上述。

请帮助我…..在此先感谢:)

你可以迭代所有的值,并检查它们是否sorting:

Dim i as Integer i = 2 Dim oldValue as Integer oldValue = MySheet.Cells(1, 1).Value Dim sorted as Boolean sorted = True Do While Not IsEmpty(MySheet.Cells(i, 1)) And sorted If MySheet.Cells(i, 1).Value < oldValue Then sorted = False EndIf oldValue = MySheet.Cells(i, 1).Value i = i + 1 Loop 

您可以使用评估复制一个公式,检查每个值与下面的值。 您必须为您要检查的范围之外的单元格build立检查。 这只会检查提供的范围的第一列。

 Function IsRangeSorted(rRng As Range) As Boolean Dim lResult As Long 'If the cell just beyond the range is sorted, evaluate will return zero 'If not, evaluate returns 1 but we don't care if that cell is sorted If rRng.Cells(rRng.Rows.Count + 1, 1).Value >= rRng.Cells(rRng.Rows.Count, 1).Value Then lResult = 0 Else lResult = 1 End If IsRangeSorted = Evaluate("=SUMPRODUCT(--(" & rRng.Columns(1).Address & ">=" & rRng.Columns(1).Offset(1).Address & "))") = lResult End Function