2016-07-18 8 views
0

Ich habe eine Vielzahl von Reihen mit unterschiedlichen Werten, die miteinander verglichen werden müssen:Kopieren von Daten Bar Formatierung

Col1 Col2 Col3 Col4 
1  84  90  75 
1  90  65  89 

Ich mag Datenleiste Formatierung auf jeder Zeile, so dass die Datenleiste nur die Formatierung Werte in der Ansicht, die bestimmte Zeile. Z. B. in Zeile 1 ist die Datenleiste für Col3 voll, während die anderen Datenbalken weniger als voll sind, da Col3 der höchste Wert ist und die anderen Balken den Zellenwert im Vergleich dazu widerspiegeln sollten.

Ich kann dies nicht manuell Zeile pro Zeile tun, da ich zu viele Zeilen habe.

Antwort

0

Hier ist eine VBA-Lösung, die für Sie arbeiten sollte. Sie müssten die folgenden Anweisungen anpassen:

Set myRange = Spalten ("B: D") < --- Auf welchen Spalten soll das Makro arbeiten?

Für i = 2 bis 3 < --- ... und auf welchen Zeilen?

Sub FormatRows() 

Dim myRange As Range 
Set myRange = Columns("B:D") 

For i = 2 To 3 
Rows(i).Columns("B:D").Select 
    Selection.FormatConditions.AddDatabar 
    Selection.FormatConditions(Selection.FormatConditions.Count).ShowValue = True 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1) 
     .MinPoint.Modify newtype:=xlConditionValueAutomaticMin 
     .MaxPoint.Modify newtype:=xlConditionValueAutomaticMax 
    End With 
    With Selection.FormatConditions(1).BarColor 
     .Color = 13012579 
     .TintAndShade = 0 
    End With 
    Selection.FormatConditions(1).BarFillType = xlDataBarFillSolid 
    Selection.FormatConditions(1).Direction = xlContext 
    Selection.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor 
    Selection.FormatConditions(1).BarBorder.Type = xlDataBarBorderNone 
    Selection.FormatConditions(1).AxisPosition = xlDataBarAxisAutomatic 
    With Selection.FormatConditions(1).AxisColor 
     .Color = 0 
     .TintAndShade = 0 
    End With 
    With Selection.FormatConditions(1).NegativeBarFormat.Color 
     .Color = 255 
     .TintAndShade = 0 
    End With 
    Next i 
End Sub