[[20050917153409]] 『置き換え』(RIN) ページの最後に飛ぶ

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

 

『置き換え』(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


素早い回答ありがとうございます。無事解決しました。
また質問があったとき、よろしければお願いします。
                    (RIN)

 こちらに統合しました。(kazu)


『置き換え2』(RIN)

先ほど答えてもらったばっかりなのですが、条件付き書式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.