[[20140812162243]] 『合計の条件付き 数と色別』(スーパーとここ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『合計の条件付き 数と色別』(スーパーとここ)

合計の本数によって
自動的に横列に、本数と文字に色を入れたいです。

合計が1000本以上 10(赤色)
合計が500本以上 5(青色) 
合計が200本以上 2(黄色)
合計が100本以上 1(緑色)
合計が100本以下は 何もナシ

宜しくお願いします。

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 IFと条件付き書式で〜と思ったんですけど2003ですもんね・・・;;

 取り敢えず確認ですが、
 【合計が100本以下は 何もナシ】
 100本未満ってことですかね?
(とらら) 2014/08/12(火) 17:10

そうです!100未満です。
もしかして〜2007とかだと出来る機能があるんですか!?

(スーパーとここ) 2014/08/12(火) 17:18


 2007以降だと条件の数が3つまでというの制限がなくなりましたし、そのまま使えるか
 どうかはわかりませんが、カラースケールという機能もあります。
http://www.ne.jp/asahi/juku/excel/Jouken06.htm

 2003以前で4つ以上の条件だとマクロになりそうです。

(Mook) 2014/08/12(火) 18:07


 やっぱり2003では難しいのですね。
マクロでのやり方が知りたいのですが・・・
教えてください。
宜しくお願い致します。
(スーパーとここ) 2014/8/18(月)

 こういう表があったとして
	[A]	[B]
[1]	1200本	10
[2]	520本	5
[3]	50本	
[4]	120本	1
[5]	490本	2

 こんな感じでいかがですか?
 実際の表を見てないので推測でしかありませんが・・・
 それと「本数と文字」とありますが、どういう意味?
 コメントアウト「'」しているところは、文字色です。
 デフォルトでは背景色を変更しています。

    Sub とここ()
        Dim r As Range
        Dim FC As Long
        For Each r In Range("A1", Range("A" & Rows.Count).End(xlUp))
            Select Case r.Offset(, 1).Value
                Case 10:    FC = vbRed
                Case 5:     FC = vbBlue
                Case 2:     FC = vbYellow
                Case 1:     FC = vbGreen
                'Case Else:  FC = vbBlack
                Case Else:  FC = xlNone
            End Select
            'r.Resize(, 2).Font.Color = FC
            r.Resize(, 2).Interior.Color = FC
        Next r
    End Sub

(稲葉) 2014/08/18(月) 17:01


 合計が1000本以上になると、10点(赤)
 合計が500本以上になると、5点(青)
 合計が200本以上になると 2点(黄色)
 合計が100本以上 1点(緑色)
 合計が0〜99本以下は 何もナシ

 1月 2月----12月  合計 点数

  100 100   500   1080  10 
   10  20     50    120     1

 という表を作りたいのですが、
 合計本数によって
 点数が自動的に出て、しかもセルの色付けがしたいです。

 [本数と文字]というのは
10点の「点」がいらないので「文字」と書きました。
説明がヘタですみません。

 (スーパーとここ) 2014.8.19 16:26


 どっちにしろ、点数は関数で行います。
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]	[I]	[J]	[K]	[L]	[M]	[N]
[1]	1月	2月	3月	4月	5月	6月	7月	8月	9月	10月	11月	12月	合計	点数
[2]	300	---	400	---	200	---	300	---	400	---	300	---	1900	10
[3]	---	100	---	---	---	100	---	---	---	---	---	100	300	2
[4]	---	---	---	200		---	---	300	---	100	---	---	600	5
[5]	10	---	---	---	---	---	---	---	---	---	---	---	10	

 N2=VLOOKUP(M2,{0,"";100,1;200,2;500,5;1000,10},2,1)
 必要な範囲にコピー

 あとは先日のコードを少し手直しして終りです。
    Sub とここ()
        Dim r As Range
        Dim FC As Long
        For Each r In Range("M1", Range("M" & Rows.Count).End(xlUp))
            If r = 0 Then Exit For          '合計が0の行に当たった時点で処理を抜ける
            Select Case r.Offset(, 1).Value
                Case 10:    FC = vbRed
                Case 5:     FC = vbBlue
                Case 2:     FC = vbYellow
                Case 1:     FC = vbGreen
                Case Else:  FC = vbBlack
            End Select
            r.Resize(, 2).Interior.Color = FC
        Next r
    End Sub
(稲葉) 2014/08/19(火) 16:46

 ありがとうございます!
 出来ました〜!!
 あと一つワガママお願いしたいんですが・・・
 セルの色付けは、「点数」だけにしたいです。
 マクロは難しくて・・・
 宜しくお願い致します。

 (スーパーとここ) 2014.8.19  17:55

 r.Resize(, 2).Interior.Color = FC
 ここを
 r.Offset(, 1).Interior.Color = FC
 に変更してください。

(稲葉) 2014/08/19(火) 17:56


 出来ました!出来ました!
 長々お世話になりありがとうございました
 (スーパーとここ) 2014.8.19 18:06

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.