Vba: so markieren sie die ersten n-werte in einer spalte


Sie können die folgende Syntax in VBA verwenden, um die ersten N Werte einer Spalte in Excel hervorzuheben:

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 3 values in range
    For Each rng In EntireRange
        
        For i = 1 To 3
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbYellow
        End If
        Next
    
    Next rng

End Sub

Dieses spezielle Makro hebt die drei höchsten Werte im Bereich A2:A11 hervor.

Um eine andere Anzahl von Oberwerten hervorzuheben, bearbeiten Sie einfach die Zeile „Für i = 1 bis 3“ , um eine andere Obergrenze zu erhalten.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Markieren Sie die ersten N Werte in der Spalte mithilfe von VBA

Angenommen, wir haben die folgenden Werte in Spalte A unserer Excel-Tabelle:

Wir können das folgende Makro erstellen, um die ersten drei größten Werte im Bereich A2:A11 hervorzuheben:

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 3 values in range
    For Each rng In EntireRange
        
        For i = 1 To 3
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbYellow
        End If
        Next
    
    Next rng

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

VBA hebt die ersten N-Werte in der Spalte hervor

Beachten Sie, dass die Zellen mit den drei höchsten Werten in Spalte A jetzt hervorgehoben sind.

Beachten Sie, dass Sie auch die zum Hervorheben verwendete Farbe sowie die Anzahl der hervorzuhebenden Primärwerte ändern können.

Mit dem folgenden Makro können wir beispielsweise die ersten 5 Werte in Spalte A grün hervorheben:

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 5 values in range
    For Each rng In EntireRange
        
        For i = 1 To 5
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbGreen
        End If
        Next
    
    Next rng

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass die Zellen mit den fünf höchsten Werten in Spalte A jetzt grün hervorgehoben sind.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

VBA: So wenden Sie bedingte Formatierung auf Zellen an
VBA: So wenden Sie bedingte Formatierung auf doppelte Werte an
VBA: So finden Sie den Wert in einer Spalte

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert