Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Durchgehende Rangfolge

Gruppe

Rang

Problem

Wenn bei mehrere gleiche Ränge vorhanden sind, besetzt die ExcelRANG()-Funktion den nachfolgenden Rang nicht mehr. Beispiel: 2 erste Plätze, dann folgt der 3. Platz. Wie kann ich die Plätze durchgehend, ohne Lücken, belegen?

Lösung
Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.

StandardModule: basMain

Function XRang(rng As Range, dValue As Double) As Integer
   Dim iCounter As Integer, iCell As Integer, iLarge As Integer
   For iCounter = 1 To rng.Rows.Count
      If iLarge <> Application.Large(rng, iCounter) Then
         iLarge = Application.Large(rng, iCounter)
         iCell = iCell + 1
         If Application.Large(rng, iCounter) = dValue Then
            XRang = iCell
            Exit Function
         End If
      End If
   Next iCounter
End Function