Benutzung auf eigene Gefahr ! |
Beschreibung |
Das Programm stellt fest, ob ein Bereich durchgehend aufsteigend oder durchgehend absteigend sortiert ist. |
VBA-Quelltext |
Function SortierFolgeBestimmen(Bereich As Range) As bmSortOrder Dim Zelle As Integer, SortOrder As Integer, Wert Set Bereich = Bereich.Cells On Error GoTo NichtStrengMonoton SortierFolgeBestimmen = Sgn(Bereich(Bereich.Cells.Count).Value - Bereich(1).Value) Select Case SortierFolgeBestimmen Case 1 ' Vermutlich aufsteigend sortiert For Zelle = 2 To Bereich.Cells.Count If Bereich(Zelle).Value <= Bereich(Zelle - 1).Value Then GoTo NichtStrengMonoton Next Zelle Case -1 'Vermutlich absteigend sortiert For Zelle = 2 To Bereich.Cells.Count If Bereich(Zelle).Value >= Bereich(Zelle - 1).Value Then GoTo NichtStrengMonoton Next Zelle Case Else NichtStrengMonoton: SortierFolgeBestimmen = 0 End Select End Function |
Argumente der Funktion/Prozedur |
Rückgabewert |
1 = Aufsteigend sortiert -1 = absteigend sortiert 0 = nicht monoton sortiert oder nicht sortiert Die Rückgabewerte entsprechen den Werten, die die Funktion Excel-Funktion Finden (Match) benötigt |