[[20100614144756]] 『フォントの色を変えたい』(松) ページの最後に飛ぶ

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

 

『フォントの色を変えたい』(松)
 シート内で使っているフォントの赤色だけを青色に変える
 とか、特定の色だけを一回で変える
 みたいな技はあるのでしょうか?
 色を付けた文字に規則性はありません
 たとえば、1つのセル内に二色以上使っている場合もあります
 エクセル2007/ビスタ


 2003以上(だったかな?)なら置換で書式だけを指定して置換できると思うので試してみてください。
 (momo)

 どうも書式の検索の場合、複数の色を使ったり文字列の一部分だけ色を変えている場合は文字列の先頭の書式しか見ないようです。

 また、書式の置き換えの場合、セル全体の書式が変更されるようなのでVBAを使わないとならないかと。

 追記
 文字列の先頭の書式で検索するのは2003(それ以前も?)の場合で2007の場合は文字列全体がおなじ書式でないと
 検索してくれないようです。
 (独覚)

 ご返信ありがとうございました。
 1つずつ文字の色をなぞって変えていくのは
 なんとかならないかなぁ思っていたのですが
 むずかしいみたいですね
 同じやり方でがんばって続けていきまする (松)

 もう見てないかしら?

 >シート内で使っているフォントの赤色だけを青色に変える
 範囲を選択して、各セルの中の赤文字→青文字に塗り替えます。

 標準モジュールに張り付けて、シートの範囲を選択してから実行してみてください。

 Sub 色変換()
    Dim i As Integer
    Dim c As Range

    For Each c In Selection    '選択された範囲内で
        For i = 1 To Len(c)
            With c.Characters(i, 1)
                If .Font.ColorIndex = 3 Then 'その文字が「赤」のときは
                    .Font.ColorIndex = 5     'その文字を「青」にする
                End If
            End With
        Next i
    Next c
 End Sub

 ColorIndexのリストは、新しいシートを作成して、下記で確認されて数値を変更してください。
   ↓
 標準モジュールに

 Sub 色リスト()
    Dim i As Integer

    For i = 1 To 20
        Cells(i, 1) = i
        Cells(i, 2).Interior.ColorIndex = i
    Next
    For i = 21 To 40
        Cells(i - 20, 3) = i
        Cells(i - 20, 4).Interior.ColorIndex = i
    Next
    For i = 41 To 56
        Cells(i - 40, 5) = i
        Cells(i - 40, 6).Interior.ColorIndex = i
    Next
 End Sub
 (kei)

 keiさん、ありがとうございます
 使わせていただきましたです
 ビスタの標準の色と微妙に異なるようで
 このへんの調整は後で考えたいと思います
 赤色は同じ色でしたので赤色を青色に変えるのを試してみましたところ
 赤→青 は希望通り変えられました
 ただ、いじっていない青(ビスタの薄青)が複数あるうちの1つのセルのだけ
 赤色に変わるという現象がおこりました
 青色がリスト内に無い色のため起こった現象なのでしょうか?
 一部だけが赤に変わったのが不自然に思いましたです 

 追記
 ビスタで使っているこの色は何番、と分かる方法はありますでしょうか? (松)

 おはよーございます。
 長ーい勤務でした。。
 同じ要領で
 「使われている色の番号」を、選択したセルの右のセルに順番に表示するマクロです。
 調べたいセルを範囲選択してマクロを実行して、その時の数値を「色変換」の数値に置き換えてください。
  Sub セル内文字色の検査()
    Dim i As Integer
    Dim c As Range

    For Each c In Selection    '選択された範囲内で
        For i = 1 To Len(c)
            c.Offset(, i).Value = c.Characters(i, 1).Font.ColorIndex
        Next i
    Next c
 End Sub
 (kei)

 keiさん、お仕事お疲れ様です
 できました
 ありがとうございました
 色が変わっていく様子が気持ちいいです
 大変助かりましたです (松)


コメント返信:

[ 一覧(最新更新順) ]


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