2017-02-22 36 views
0

おはよう、Excel(条件付き書式設定)

私はデータセットを持っており、次のようになります(例)。私はA1とA2の間で最高の数字を強調表示し、次にA3とA4の間で最も高い数字を、A5とA6の間で最高の数字を強調する必要があります。 B列とC列の場合も同じです。 緑色で強調表示したい最も高いもの、赤色で最も低いものを強調表示しますか?何か案は。それは大きなデータセットであり、手動では時間がかかります。

Example

+0

条件付き書式設定で何か試しましたか? A1がA2よりも大きく、A2がA1よりも小さいかどうかを確認するには、数式または2つの式が必要です。 –

+0

これはうまくいくと思いますが、2つのブロックに式を追加するにはどうすればよいですか?私はA1とA2、次にA3とA4をチェックしたいので、私は数式をドラッグするとA2とA3の間をチェックしますので、基本的には行をスキップする必要があります。これで私を助けることができるマクロはありますか? – Celeste

答えて

0

下記のリンク質問への答えは、あなたの質問に答えるために最初の一種です。

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

私はあなたのための特定のスクリプトを作成することができますが表示されます。

Format Top 3 and Bottom 3 Values for each row

編集:私は小さい上、このほんの少しをテストしてみた 私が作成したデータセット。要求されたとおりに動作するようです。調整する必要があるのは、データセットを正確に表すための「列」と「行」だけです。

EDIT2:私が見つけたわずかな問題を修正するためにコードが少し修正されました。

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

ありがとう、それはすばらしいでしょう。 – Celeste

+0

私は、私がstackoverflowの周りの他の投稿からつなぎ合わせたVBAスクリプトで私の答えを編集しました。これはあなたのために働くことを望みます。 –

+0

多くの超過条件付き書式設定ルールを作成した小さなバグが見つかりました。 –