[[20061007074349]] 『行に色を付けたいのですが?』(mimi) >>BOT

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

 

『行に色を付けたいのですが?』(mimi)

指定した文字を入力するとその行が指定した色に変わる、書式設定でやってみましたが
文字や数字が色付になるだけで変わりません???どなたかお願いします


 条件付き書式の設定でフォントの色を指定しているのでしょうか?
 パターンを設定したらセルを塗りつぶすことが出来ますが・・・
 例えば、1〜10行でA列に「A」と入力したら、行にパターンを設定するには
 1)設定する1:10行を選択。
 2)書式→条件付き書式で「数式が」「=$A1="A"」、書式→パターンで色を設定
 という感じです。

 入力した文字によって色も変えるというような場合で
 パターンが4色以上になるのなら、マクロを使うことになると思います。
   (Hatch)


HATCHさん ありがとうできました

HATCHさん!!

マクロでどのように作れば出来るのでしょうか?


 マクロでやる場合、オーダーメイドになるのである程度の情報は必要かと思います。
 入力するセル、指定する文字、そのときの色
 少なくともこれくらいの情報は必要です。
 (ROUGE)

ROUGEさん
ありがとうございます。
内容なのですが、例えば、ある文字(A〜M)が入力されている場合にセルに色を付けたいのです。A=青、B=赤、C=黄、D=緑 といった感じで、ただし、アルファベットに 1〜31までの文字のどれかが付随するようになるので、A単体ではなく、*A* ←こんな感じの意味あいでしょうか?

マクロが全然分からずに困っております・・・。


 入力するセルはどこですか?
 A列?
 (ROUGE)

 例えばA列だとすると下記のコードになります。
 シートタブを右クリックし、コードの表示を選択、出てきた画面にコードをコピペしてその画面を閉じます。
 (ROUGE)
'----
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, clr As Integer
    If Intersect(Target, Columns("A")) Is Nothing Then Exit Sub
    For Each c In Intersect(Target, Columns("A"))
        If c.Text Like "*A*" Then
            clr = 5
        ElseIf c.Text Like "*B*" Then
            clr = 3
        ElseIf c.Text Like "*C*" Then
            clr = 6
        ElseIf c.Text Like "*D*" Then
            clr = 10
        Else
            clr = xlNone
        End If
        Rows(c.Row).Interior.ColorIndex = clr
    Next
End Sub

ありがとうございます!

行というか、マスに関してはカレンダーをイメージして頂ければと思います。
実際の表はB4〜AM10の266マスに摘要となります。
カラーの数字?の表というのはどこかにあるのでしょうか?

ちょっとやってみましたが、入力した行のすべてが青色になってしまいました・・。
入力したマスだけ色を付けたいのですが、出来ますでしょうか?


 > 入力した行のすべてが青色になってしまいました・・。
 そういうことじゃなかったのでしょうか?

 > 指定した文字を入力するとその行が指定した色に変わる
                         ~~~~~~~~~~~~~~~~~~~~~~~~~
 と掲載されています。

 以下のコードでどうでしょう。(ROUGE)
'----
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, clr As Integer
    If Intersect(Target, Range("B4:AM10")) Is Nothing Then Exit Sub
    For Each c In Intersect(Target, Range("B4:AM10"))
        If c.Text Like "*A*" Then
            clr = 5
        ElseIf c.Text Like "*B*" Then
            clr = 3
        ElseIf c.Text Like "*C*" Then
            clr = 6
        ElseIf c.Text Like "*D*" Then
            clr = 10
        Else
            clr = xlNone
        End If
        c.Interior.ColorIndex = clr
    Next
End Sub

ROUGEさん。できました! ありがとうございます!
あとは、色のコードなのですが、どこかにあるのでしょうか?

すみません・・・。


 変数clrに入れている数字(もしくはxlNone)が色番号です。
 3:赤、5:青、6:黄、10:緑、xlNone:なし
 (ROUGE)

[[20050115131721]]『条件式書式を6つやりたいんですが・・・』(sirouto)
 横からすいません リンク先にここの先生が作ったものがありますよ^^
 (dack)

dackさん
ありがとうございます。

すみません。
同じシート内に、B4〜AM10までとB16〜AM22の2つの表があるのですが、
二つ以上の範囲を指定する事は可能でしょうか?

 Range("B4:AM10") --> Range("B4:AM10,B16:AM22")
 に変更してください。
 (ROUGE)

ありがとうございました(>_<)


コメント返信:

[ 一覧(最新更新順) ]


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