Excel VBA質問箱 IV

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

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


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

【28341】最大値セルへ色つけしたい ひろ 05/9/2(金) 18:54 質問[未読]
【28342】Re:最大値セルへ色つけしたい だるま 05/9/2(金) 19:33 回答[未読]
【28343】Re:最大値セルへ色つけしたい でれすけ 05/9/2(金) 19:35 回答[未読]
【28344】Re:最大値セルへ色つけしたい ちくたく 05/9/2(金) 19:38 回答[未読]
【28346】Re:最大値セルへ色つけしたい ひろ 05/9/2(金) 19:57 お礼[未読]
【28347】Re:最大値セルへ色つけしたい ganko 05/9/2(金) 20:49 質問[未読]
【28348】Re:最大値セルへ色つけしたい だるま 05/9/2(金) 21:55 発言[未読]

【28341】最大値セルへ色つけしたい
質問  ひろ  - 05/9/2(金) 18:54 -

引用なし
パスワード
      A B C D E  F
1月 0 1 2 1 5  9(1月計)
2月 1 3 4 2 2  12(2月計)


12月 1 3 2 1 2  9(12月計)
年計 2 7 8 4 9  30

上記の様な表で1月〜12月の月別にA〜Eの範囲(Fは合計なので除く)
で最大値のセルに色をつけたいのですが
どのように記述すればよいのか分かりません。

過去ログ検索したのですが初心者なので理解しきれませんでした。
どなたかご教授いただけないでしょうか
宜しくお願いいたします。

【28342】Re:最大値セルへ色つけしたい
回答  だるま WEB  - 05/9/2(金) 19:33 -

引用なし
パスワード
   こんな感じでいかがでしょうか。^d^
(月表示がA列にありますからB列からF列としました。この辺りは適当に変更して
ください。)

Sub MaxCell()
  Dim myRange As Range
  Dim myRow As Range
  Dim myCell As Range
  Dim myMax As Variant
  Dim i As Integer
  
  Set myRange = Range("B1:F12")
  myRange.Interior.ColorIndex = xlNone
  
  For Each myRow In myRange.Rows
    myMax = Application.WorksheetFunction.Max(myRow)
    i = Application.WorksheetFunction.Match(myMax, myRow, 0)
    myRow.Cells(i).Interior.ColorIndex = 3
  Next
End Sub

【28343】Re:最大値セルへ色つけしたい
回答  でれすけ  - 05/9/2(金) 19:35 -

引用なし
パスワード
   こんばんは。

条件付き書式を使っても出来ます。
1月のA〜Eのセルを選択してから
メニューの[書式]=>[条件付き書式]で
[セルの値が][次の値に等しい]を選択して、
=max($A1:$E1)と言うように入力します。<=行番号は選択した行にあわせてください。
で、[書式]ボタンをクリックして、好きな書式を設定してください。

さて、
>過去ログ検索したのですが初心者なので理解しきれませんでした。

このように書かれていますが、これは回答者に対して
有用な情報を何ひとつとして与えません。

どのような過去ログを参考にして、どのようにやってみたのでしょうか。
そしてどのようにうまくいかなかったのか。
それを具体的に書いてもらわないと、ひろさんが「理解できなかった」
のと同じことをもう一度書いてしまう事になるかもしれません。

そのような無駄を省くためにも、回答者から有効な回答を引き出すために
自分がどのようなトライをしたのかという情報を書くようにしてください。

でわ。

【28344】Re:最大値セルへ色つけしたい
回答  ちくたく  - 05/9/2(金) 19:38 -

引用なし
パスワード
   こんにちは。
古くさく書いたら、こんな感じですか。

Sub 最大値のに色をつける。()
  Dim myArr As Variant, myMax As Long
  Dim i As Integer, j As Integer
  For i = 1 To 12
    myArr = Range(Cells(i, 1), Cells(i, 10)).Value
    myMax = WorksheetFunction.Max(myArr)
    For j = 1 To 5
      If myMax = Cells(i, j).Value Then
        Cells(i, j).Interior.ColorIndex = 6
      End If
    Next j
  Next i
End Sub

【28346】Re:最大値セルへ色つけしたい
お礼  ひろ  - 05/9/2(金) 19:57 -

引用なし
パスワード
   だるま様 でれすけ様 ちくたく様

素早いご回答ありがとうございました。
動作致しました。


でれすけ様 ご指摘ごもっともです。
仕事の納期に迫られ急ぎ投稿してしまいました。
配慮にかけてました。大変失礼致しました。

【28347】Re:最大値セルへ色つけしたい
質問  ganko  - 05/9/2(金) 20:49 -

引用なし
パスワード
   ▼だるま様 でれすけ様 ちくたく様
すみませんが、一寸聞きしたいんですが・・・

最大値が一行に2個以上ある場合、
だるま様のコードでは列の若い方に色がつきます。
ちくたく様のコードでは複数個所に色がつきます。

だるま様のコードで複数個に反応させる方法はないでしょうか。

【28348】Re:最大値セルへ色つけしたい
発言  だるま WEB  - 05/9/2(金) 21:55 -

引用なし
パスワード
   ▼ganko さん:
>▼だるま様 でれすけ様 ちくたく様
>すみませんが、一寸聞きしたいんですが・・・
>
>最大値が一行に2個以上ある場合、
>だるま様のコードでは列の若い方に色がつきます。
>ちくたく様のコードでは複数個所に色がつきます。
>
>だるま様のコードで複数個に反応させる方法はないでしょうか。
無いと思います。

ちくたくさんのコードでよろしいのでは。^d^

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