[[20040918124028]] 『色分け』(ヨッシー) ページの最後に飛ぶ

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

 

『色分け』(ヨッシー)

セルの値を、大きさ別に色分け(例えば;0〜10は赤、10〜20は青)したいのですが、
”条件付き書式”では、条件が3つまでしかないので、色分けを4つ、5つと多く
したいときにはどうやってやればよいのでしょうか。


 こちらが参考になりませんか。

[[20040818095729]]『B列にBと入力したら左隣のA列のセルを赤く』(Satoko)

 (川野鮎太郎) 


 ありがとうございます。
 できれば、もう少しわかりやすく教えていただけないでしょうか。ToTA;
 私がやりたいのは、0〜100までの値があって、0〜10、11〜20、・・・と
10個のグループを、10個の色で分けたいのですが・・・
 よろしくお願いいたします。


 A列に数値を入れたときに数値によってフォント色が変わります。
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    Dim colr As Integer

    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 1 Then Exit Sub
    Select Case Target
        Case Is <= 10
            colr = 3 'ここの色番号をお好きなように
        Case Is <= 20
            colr = 4  '々
        Case Is <= 30
            colr = 5 '々
        Case Is <= 40
            colr = 6 '々
        Case Is <= 50
            colr = 7  '々
        Case Is <= 60
            colr = 8  '々
        Case Is <= 70
            colr = 9 '々
        Case Is <= 80
            colr = 22 '々
        Case Is <= 90
            colr = 43  '々
        Case Is <= 100
            colr = 29  '々
        Case Else
            Target.Offset(0, 0).Font.ColorIndex = xlnon
            Exit Sub
    End Select

    Target.Offset(0, 0).Font.ColorIndex = colr

 End Sub
 弥太郎さん、拝借失礼します。m(._.)m ペコッ
 (川野鮎太郎)


 色見本は、INAさんが作ってくれたものをお借りします。
http://ryusendo.no-ip.com/cgi-bin/upload/src/up0068.xls
 (川野鮎太郎)


ちなみに、数値をいれる列が複数にまたぐ場合はどうなんでしょう。
また、フォント色ではなくセルに色を付けたいのですが・・・
お願いします。
 (ヨッシー)


 ( ̄0 ̄;アッ わざわざフォント色に変えたのにセルの色って書いてありますね(^_^A;
 Fontの部分をInteriorに代えてください。
 対象が決まってなければ、2行目の If Target.Column <> 1 Then Exit Subを消してください。
 あれ?今読み返したら値を色分けになってますよ_/ ̄|○ il||li
 (川野鮎太郎)


ごめんなさい。
どうもありがとうございました。

今更ですが・・・、よかったら、1からやり方というか、手順を教えてください!!!


 (*'ω'*)......ん? 手順とは作り方ですか?使い方ですか?
 さきほど試して、列が1つとか、フォントではなくとか言われたんでは・・・(^_^A;
 (川野鮎太郎)


 上記マクロがどこに入れたら良いのかが判らないのであれば、
 該当するシートタブを右クリックして、コードの表示
 出てきた窓に上記を貼り付けてください。
 (川野鮎太郎)


すみません、私はマクロに関してはほぼ素人でして・・・
よろしくお願いします。


 うーんと・・えーっと、最初から説明しますね。
 (1)Book1を開いて、開いたときにSheet1,Sheet2,Sheet3がありますよね。(デフォルトの場合:Excel2000)
 (2)そのSheet1のタブを右クリック−コードの表示
 (3)VBE画面が開きSheet1のモジュール画面が開きますので、その中に以下の構文を貼り付ける。
 (4)終わったらVBEの画面を閉じて、Sheet1のどこでも良いので適当な数値を入力してみてください。(0〜100まで)
 もしも、Sheet1だけではなく他のシートで同じことをしたい場合には、該当シートタブを右クリックして同じことを行います。 

  Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    Dim colr As Integer

    If Target.Count > 1 Then Exit Sub
    Select Case Target
        Case Is <= 10
            colr = 3 'ここの色番号をお好きなように
        Case Is <= 20
            colr = 4  '々
        Case Is <= 30
            colr = 5 '々
        Case Is <= 40
            colr = 6 '々
        Case Is <= 50
            colr = 7  '々
        Case Is <= 60
            colr = 8  '々
        Case Is <= 70
            colr = 9 '々
        Case Is <= 80
            colr = 22 '々
        Case Is <= 90
            colr = 43  '々
        Case Is <= 100
            colr = 29  '々
        Case Else
            Target.Offset(0, 0).Interior.ColorIndex = xlnon
            Exit Sub
    End Select

    Target.Offset(0, 0).Interior.ColorIndex = colr

 End Sub

 (川野鮎太郎)


ありがとうございます!!!
もやもやが晴れました。

あと、、、元々sheetにあるデータのセルの色を変えることはできないのですか?


 シート全体ですか、それとも、部分的にでしょうか。
 (川野鮎太郎)


部分的に、E5:j105といった感じです。


 今度は標準モジュールに入れてください。
 標準モジュールに入れる方法は、Alt+F11を押して、VBE画面を出す。
 挿入−標準モジュールで出てきた画面に下の構文を貼り付けてください。

 Sub replaceStyle()
    Dim colr As Integer
    Dim myCell As Range

    For Each myCell In Selection
        If myCell.Value <> "" Then
        Select Case myCell.Value
            Case Is <= 10
                colr = 3 'ここの色番号をお好きなように
            Case Is <= 20
                colr = 4  '々
            Case Is <= 30
                colr = 5 '々
            Case Is <= 40
                colr = 6 '々
            Case Is <= 50
                colr = 7  '々
            Case Is <= 60
                colr = 8  '々
            Case Is <= 70
                colr = 9 '々
            Case Is <= 80
                colr = 22 '々
            Case Is <= 90
                colr = 43  '々
            Case Is <= 100
                colr = 29  '々
            Case Else
                myCell.Offset(0, 0).Interior.ColorIndex = xlnon
                GoTo Line01
        End Select
            myCell.Offset(0, 0).Interior.ColorIndex = colr
        Else
    End If
Line01:
    Next
 End Sub

 ※E5:J105を選択してから、マクロを実行してください。
  マクロの実行方法は、Alt+F8 で出てきた、replaceStyleを選んで実行
 (川野鮎太郎)

コメント返信:

[ 一覧(最新更新順) ]


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