2017-02-22 7 views
0

Guten Tag,Excel (bedingte Formatierung)

Ich habe einen Datensatz und sieht wie folgt aus (Beispiel). Ich muss die höchste Zahl zwischen A1 und A2 hervorheben, dann die höchste zwischen A3 und A4, die höchste zwischen A5 und A6 und so weiter. Das Gleiche gilt für Spalte B und C usw. Die höchste, die ich möchte grün hervorgehoben, die niedrigste in rot? Irgendwelche Ideen. Es ist ein großer Datensatz und dauert manuell zu lange.

Example

+0

Haben Sie irgendetwas mit bedingter Formatierung versucht? Sie werden wahrscheinlich eine oder zwei Formeln benötigen, um zu überprüfen, ob A1 größer als A2 und A2 kleiner als A1 ist. –

+0

Ich stimme zu, dass dies funktioniert, aber wie füge ich die Formel zu jedem der beiden Blöcke hinzu? Denn wenn ich die Formel nach unten ziehe, prüft sie zwischen A2 und A3, während ich möchte, dass sie A1 und A2 prüft, dann A3 und A4, also sollte im Grunde eine Zeile übersprungen werden. Gibt es ein Makro, das mir dabei helfen kann? – Celeste

Antwort

0

Die Antwort auf die unten verlinkten Frage ist eine Art von Anfang an Ihre Frage zu beantworten. Sie müssen dies mit VBA tun, so etwas wie dies zu tun:

Do While i <= cols 
    Do While j <= rows 
     //set conditional formatting for range ij:i(j+1) 
     j = j + 2 
    Loop 
Loop 

Ich werde sehen, ob ich ein bestimmtes Skript für Sie erstellen kann.

Format Top 3 and Bottom 3 Values for each row

EDIT: ich dies nur ein bisschen auf einem kleinen getesteten Daten-Set I erstellt. Es scheint zu funktionieren wie gewünscht. Alles, was Sie anpassen müssen, sind "Spalten" und "Zeilen", um Ihren Datensatz genau darzustellen.

EDIT2: Code wurde leicht modifiziert, um ein kleines Problem zu beheben, das ich gefunden habe.

Sub Conditions() 
Dim i As Integer, j As Integer, cols As Integer, rows As Integer 
cols = 2 
rows = 10 
i = 1 
j = 1 

Do While i <= cols 
    Do While j <= rows 
     With Range(Cells(j, i), Cells(j + 1, i)).FormatConditions.Add(xlTop10) 
       .SetFirstPriority 
       .TopBottom = xlTop10Top 
       .Rank = 1 
       .Percent = False 
       With .Interior 
        .PatternColorIndex = xlAutomatic 
        .Color = RGB(0, 255, 0) 
        .TintAndShade = 0 
       End With 
      End With 
     j = j + 2 
    Loop 
    i = i + 1 
    j = 1 
Loop 
i = 1 
j = 1 


Do While i <= cols 
    Do While j <= rows 
     With Range(Cells(j, i), Cells(j + 1, i)).FormatConditions.Add(xlTop10) 
       .SetFirstPriority 
       .TopBottom = xlTop10Bottom 
       .Rank = 1 
       .Percent = False 
       With .Interior 
        .PatternColorIndex = xlAutomatic 
        .Color = RGB(255, 0, 0) 
        .TintAndShade = 0 
       End With 
      End With 
     j = j + 2 
    Loop 
    i = i + 1 
    j = 1 
Loop 

End Sub 
+0

Danke, das wäre toll. – Celeste

+0

Ich habe meine Antwort mit einem VBA-Skript bearbeitet, das ich aus anderen Posts rund um stackoverflow zusammengestellt habe. Hoffe das funktioniert für dich. –

+0

Es wurde ein kleiner Fehler gefunden, der zu viele Regeln für bedingte Formatierung erstellt hat. Dieser Fehler wurde behoben. –

Verwandte Themen