[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『置き換え』(RIN)
エクセルで例えば「1」と打ってあるセルが多数あるとします。
その「1」というセルを全て 背景が赤で文字色が黄色 という使用にするにはどうしたらいいですか?
分かりにくい質問ですがよろしくお願いします。
条件付書式で、出来そうですね〜
例えば、こんな表だとします。 A B C D 1 1 2 1 3 1 1 1 4 1 5 1
1)A1からD5までを範囲指定(マウスでググッと範囲を指定) 2)書式 → 条件付書式 3)【セルの値が】はそのまま。【次の値の間】を【次の値に等しい】に変更 4)その隣に、条件を入力(今回の場合は、1 ですね) 5)書式をクリック 6)「背面が赤」 にしたいので、パターンをクリック。赤を指定。 7)「字色が黄色」は、フォントの色を黄色に指定。 8)OKボタンクリックで完成。
以上で如何でしょう? (キリキ)(〃⌒o⌒)b
こちらに統合しました。(kazu)
先ほど答えてもらったばっかりなのですが、条件付き書式3つしか条件が増やせず困っています。
新しく打ち直すと、前の条件付き書式で変えたセルが元に戻ってしまします。
で、記憶中に以前こういう手段を学校の先生が使っていたというのを思い出したのですが・・・
1と打つと阿部一郎君のデータが並びだし、
2と打つと井上次郎君のデータが、
3と打つと上野三郎君のデータ・・・というような設定は可能なんですか?
当方のケースは、
1と打つと赤い文字の1
2と打つと黄色い文字の2・・・というようにしたいのですが。
条件がよくわかりません(理解力無くてすいません。 ですが、 >条件付き書式3つしか条件が増やせず困っています。 にだけ反応。
新単語検索で 条件付書式 3つ以上 で検索すると、色々出てきます。
過去ログを参照すると解ると思いますが、マクロに頼ることになると思います。 マクロとなると、もう少し条件を細かく記載していただいた方が 回答が付きやすいと思いますよ〜♪ (キリキ)(〃⌒o⌒)b
1〜10 背景が薄い黄色
11〜14 背景が薄い緑
15〜19 背景がペールブルー
20〜23 背景がラベンダー
24〜27 背景がベージュ
28〜32 背景がローズ
33〜36 背景が薄いオレンジ
37〜 背景が赤
というマクロを作りたいのです。文字色は黒でいいです。
よろしくお願いします。
こんな感じでしょうか?
標準モジュールへ '--------------- Sub 背景色変更() Dim col As Long Dim tbl As Range
For Each tbl In Selection Select Case tbl Case 1 To 10 ' 背景が薄い黄色 col = 36 Case 11 To 14 ' 背景が薄い緑 col = 35 Case 15 To 19 ' 背景がペールブルー col = 37 Case 20 To 23 ' 背景がラベンダー col = 39 Case 24 To 27 ' 背景がベージュ col = 40 Case 28 To 32 ' 背景がローズ col = 38 Case 33 To 36 ' 背景が薄いオレンジ col = 45 Case Is > 36 ' 背景が赤 col = 3 Case Else col = 0 'その他 無し End Select With tbl.Interior .ColorIndex = col End With Next tbl End Sub
変更したい場所を範囲指定し Alt + F8 を押し、【背景色変更】を実行。
(キリキ)(〃⌒o⌒)b
キリキさんありがとうございます!出来ました。
もう一つお聞きしたいのですが、「カテゴリ」という文字が入っているセルだけ背景色を黄色することは可能でしょうか?
完全一致でなくその単語だけ入っていればいいので・・・・
>完全一致でなくその単語だけ入っていればいいので・・・・ とは、文章内に「カテゴリ」が入っていたら。 ってことですか? であれば、End Select の下に、下記を追加してみてください。
If tbl.Value Like "*カテゴリ*" Then col = 6 End If
(キリキ)(〃⌒o⌒)b
先日数字ごとに背景色のマクロを作っていただいたのですが、一つ隣のセルも同色背景にすることは可能ですか?
EX)
|12|空き|←この空きのセルも12の背景と同色にしたいのです
分かりにくいとは思いますがよろしくお願いします。
イッヒッヒ、キリキせんせぇの手柄を横取り〜(笑 空きセルが条件やとこうなりますワ。 (弥太郎) '--------------------------------- Sub 背景色変更() Dim col As Long Dim tbl As Range
Selection.Interior.ColorIndex = xlNone For Each tbl In Selection If tbl.Interior.ColorIndex = xlNone Then Select Case tbl Case 1 To 10 ' 背景が薄い黄色 col = 36 Case 11 To 14 ' 背景が薄い緑 col = 35 Case 15 To 19 ' 背景がペールブルー col = 37 Case 20 To 23 ' 背景がラベンダー col = 39 Case 24 To 27 ' 背景がベージュ col = 40 Case 28 To 32 ' 背景がローズ col = 38 Case 33 To 36 ' 背景が薄いオレンジ col = 45 Case Is > 36 ' 背景が赤 col = 3 Case Else col = 0 'その他 無し End Select With tbl If .Offset(, 1) = "" Then Range(.Address).Resize(, 2).Interior.ColorIndex = col End If End With End If Next tbl
End Sub
あれぇ、これなんかおかしいなぁ。(笑 こうせなんだらあきまへんやろ。 世の中そんなに上手い事手柄を横取りでけしまへんワ。 (弥太郎) With tbl If .Offset(, 1) = "" Then Range(.Address).Resize(, 2).Interior.ColorIndex = col Else Range(.Address).Interior.ColorIndex = col End If End With
Sub 背景色変更() Dim col As Long Dim tbl As Range
For Each tbl In Selection
Select Case tbl Case 1 To 10 ' 背景が薄い黄色 col = 36 Case 11 To 14 ' 背景が薄い緑 col = 35 Case 15 To 19 ' 背景がペールブルー col = 37 Case 20 To 23 ' 背景がラベンダー col = 39 Case 24 To 27 ' 背景がベージュ col = 40 Case 28 To 32 ' 背景がローズ col = 38 Case 33 To 36 ' 背景が薄いオレンジ col = 45 Case 36 To 43 ' 背景が赤 col = 3 Case Else col = 0 'その他 無し End Select If tbl.Value Like "*カテゴリ*" Then col = 6 End If
With tbl.Interior .ColorIndex = col End With With tbl If .Offset(, 1) = "" Then Range(.Address).Resize(, 2).Interior.ColorIndex = col Else Range(.Address).Interior.ColorIndex = col End If End With Next tbl End Sub
何が悪いんでしょうか・・・。もういっぱいいっぱいなので助けてください(笑)
セルの範囲を指定して、マクロの実行です。(Ty)
ししょ〜、Tyさん、フォローありがとう(^^)
ししよ〜の、マクロをパクッとパクッて、、、
'---------------------------------
Sub 背景色変更() Dim col As Long Dim tbl As Range
Selection.Interior.ColorIndex = xlNone For Each tbl In Selection If tbl.Interior.ColorIndex = xlNone Then If tbl.Value Like "*カテゴリ*" Then col = 6 Else Select Case tbl Case 1 To 10 ' 背景が薄い黄色 col = 36 Case 11 To 14 ' 背景が薄い緑 col = 35 Case 15 To 19 ' 背景がペールブルー col = 37 Case 20 To 23 ' 背景がラベンダー col = 39 Case 24 To 27 ' 背景がベージュ col = 40 Case 28 To 32 ' 背景がローズ col = 38 Case 33 To 36 ' 背景が薄いオレンジ col = 45 Case Is > 36 ' 背景が赤 col = 3 Case Else col = 0 'その他 無し End Select End If With tbl If .Offset(, 1) = "" Then Range(.Address).Resize(, 2).Interior.ColorIndex = col Else Range(.Address).Interior.ColorIndex = col End If End With End If Next tbl
End Sub
こんな感じで如何でしょう? (キリキ)(〃⌒o⌒)b
いつも親切な回答ありがとうございます。 先日数字の一つ隣のセルも同色にするマクロを教えていただいたのですが、 一つ隣のセル(空きセル)に文字が入力してあると、マクロが通用しません。 どうすればいいのでしょうか・・・。(RIN)
>空きセル とは、「何も入力されていない時」 ってことでは無かったんですか?
単純に、隣のセルもって事ですか? でしたら、 With tbl 'If .Offset(, 1) = "" Then Range(.Address).Resize(, 2).Interior.ColorIndex = col 'Else ' Range(.Address).Interior.ColorIndex = col 'End If End With こちらに差し替えてください〜
(キリキ)(〃⌒o⌒)b
手柄のぶんどり合戦(笑 >|12|空き|←この空きのセルも12の背景と同色にしたいのです キリキせんせぇ同様隣の空きセルと解釈しましたけど、文字(数値ではない)が 入っとるセルっちゅう事でっか? それやとこんな塩梅になりますかなぁ。 (弥太郎) '----------------------------------- Sub 背景色変更() Dim col As Long Dim tbl As Range
Selection.Interior.ColorIndex = xlNone For Each tbl In Selection If tbl.Interior.ColorIndex = xlNone And IsNumeric(tbl) And Not IsEmpty(tbl) Then Select Case tbl Case 1 To 10 ' 背景が薄い黄色 col = 36 Case 11 To 14 ' 背景が薄い緑 col = 35 Case 15 To 19 ' 背景がペールブルー col = 37 Case 20 To 23 ' 背景がラベンダー col = 39 Case 24 To 27 ' 背景がベージュ col = 40 Case 28 To 32 ' 背景がローズ col = 38 Case 33 To 36 ' 背景が薄いオレンジ col = 45 Case Is > 36 ' 背景が赤 col = 3 Case Else col = xlNone 'その他 無し End Select With tbl If .Offset(, 1) = "" Or Not IsNumeric(.Offset(, 1).Value) Then Range(.Address).Resize(, 2).Interior.ColorIndex = col Else Range(.Address).Interior.ColorIndex = col End If End With End If Next tbl
End Sub
横から失礼いたします。 上記のマクロをセル範囲を指定して実行する場合、 どこをどのように変更すれば良いのでしょうか?
初心者なもので、検索してそれらしいものが見つかっても応用できず… こちらのマクロが一番近い内容でしたので、質問させていただきました。 よろしくお願いいたします。
また、もしよろしければ、もう一つ質問させてください。 上記のマクロでは、case 1 to 10 で1から10までの数値を 示しているのだと考えておりますが、 1以上10未満 というような指定方法はできるのでしょうか?
(kim)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.