Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3382 / 13644 ツリー ←次へ | 前へ→

【62566】背景色 トキノハジメ 09/7/31(金) 13:52 質問[未読]
【62567】Re:背景色 つん 09/7/31(金) 14:15 発言[未読]
【62568】Re:背景色 つん 09/7/31(金) 15:12 発言[未読]
【62574】Re:背景色 トキノハジメ 09/7/31(金) 22:04 質問[未読]
【62588】Re:背景色 つん 09/8/3(月) 9:07 発言[未読]
【62597】Re:背景色 トキノハジメ 09/8/5(水) 8:01 お礼[未読]

【62566】背景色
質問  トキノハジメ  - 09/7/31(金) 13:52 -

引用なし
パスワード
     A  B  C  D  E  F  G  H  I  J  K
1 16 24 35 40 36 45 51 62 48 77 80
2 12 21 33 44 38 46 52 61 58 78 82

上記の表でA,B,C,D,と順に見て数値が左より小さければ背景色を青、
A1,A2,と順次縦に見て上の数値より小さければ背景色を緑、もし
ダブれば背景色は黄色としたいのですが、何を使えばよいか教えてください。

【62567】Re:背景色
発言  つん  - 09/7/31(金) 14:15 -

引用なし
パスワード
   ▼トキノハジメ さん:
こんにちは^^

>  A  B  C  D  E  F  G  H  I  J  K
>1 16 24 35 40 36 45 51 62 48 77 80
>2 12 21 33 44 38 46 52 61 58 78 82
>
>上記の表でA,B,C,D,と順に見て数値が左より小さければ背景色を青、
>A1,A2,と順次縦に見て上の数値より小さければ背景色を緑、もし
>ダブれば背景色は黄色としたいのですが、何を使えばよいか教えてください。

条件式書式で、

1行目は、

「セルの値が」「次の値より小さい」「=B1」で、書式で背景色青
の1条件

2行目に

●条件1
「数式が」「=AND(A2<A1,A2<B2)」で、書式で背景色黄色
●条件2
 1行目と同じ要領で、背景色青
●条件3
 同じく同じ要領で、背景色緑

てな感じでどうでしょうか?
なんか横着な書き方ですみません^^;

【62568】Re:背景色
発言  つん  - 09/7/31(金) 15:12 -

引用なし
パスワード
   一応マクロも組んでみた。

Sub test()

  Dim r As Range
  
  For Each r In Selection
    If r.Row = 1 Then
      If r.Value < r.Offset(0, 1).Value Then
        r.Interior.ColorIndex = 8
      End If
    Else
      If r.Value < r.Offset(, 1).Value And r.Value < r.Offset(-1, 0).Value Then
        r.Interior.ColorIndex = 36
      ElseIf r.Value < r.Offset(0, 1).Value Then
        r.Interior.ColorIndex = 8
      ElseIf r.Value < r.Offset(-1, 0).Value Then
        r.Interior.ColorIndex = 35
      End If
    End If  
  Next r

End Sub


なんか、べたな感じですね^^;
もちっとスマートなやり方はないのか!?

【62574】Re:背景色
質問  トキノハジメ  - 09/7/31(金) 22:04 -

引用なし
パスワード
   ▼つん さん:
>一応マクロも組んでみた。
>
>Sub test()
>
>  Dim r As Range
>  
>  For Each r In Selection
>    If r.Row = 1 Then
>      If r.Value < r.Offset(0, 1).Value Then
>        r.Interior.ColorIndex = 8
>      End If
>    Else
>      If r.Value < r.Offset(, 1).Value And r.Value < r.Offset(-1, 0).Value Then
>        r.Interior.ColorIndex = 36
>      ElseIf r.Value < r.Offset(0, 1).Value Then
>        r.Interior.ColorIndex = 8
>      ElseIf r.Value < r.Offset(-1, 0).Value Then
>        r.Interior.ColorIndex = 35
>      End If
>    End If  
>  Next r
>
>End Sub
>
>
>なんか、べたな感じですね^^;
>もちっとスマートなやり方はないのか!?

つん様 早速のコード有難うございました。テストの結果うまくいかなかったので
コードの上から9行目の括弧のなかを(0, 1)としたら答えてくれましたがこれでよいのでしょうか。アドバイス宜しくお願いいたします。

【62588】Re:背景色
発言  つん  - 09/8/3(月) 9:07 -

引用なし
パスワード
   ▼トキノハジメ さん
おはようございます^^

家のパソコンが入院しちゃったので、
レスが遅れました。

>つん様 早速のコード有難うございました。テストの結果うまくいかなかったので
>コードの上から9行目の括弧のなかを(0, 1)としたら答えてくれましたがこれでよいのでしょうか。アドバイス宜しくお願いいたします。

ん?
r.Offset(, 1).Value のところですか?
横着な書き方をしただけで、結果は同じになると思うのですが・・・
なににしろ、トキノハジメさんが望まれる結果が得られるなら、それでOKかと思われまする〜

【62597】Re:背景色
お礼  トキノハジメ  - 09/8/5(水) 8:01 -

引用なし
パスワード
   ▼つん さん:
有難うございました。又、宜しくお願いいたします。
>▼トキノハジメ さん
>おはようございます^^
>
>家のパソコンが入院しちゃったので、
>レスが遅れました。
>
>>つん様 早速のコード有難うございました。テストの結果うまくいかなかったので
>>コードの上から9行目の括弧のなかを(0, 1)としたら答えてくれましたがこれでよいのでしょうか。アドバイス宜しくお願いいたします。
>
>ん?
>r.Offset(, 1).Value のところですか?
>横着な書き方をしただけで、結果は同じになると思うのですが・・・
>なににしろ、トキノハジメさんが望まれる結果が得られるなら、それでOKかと思われまする〜

3382 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free