[[20100707151523]] 『部分一致した文字列の検索した文字だけ色を変えた』(かば) ページの最後に飛ぶ

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

 

『部分一致した文字列の検索した文字だけ色を変えたい』(かば)
 よろしくお願いします。
 指定した範囲のセル内の文字列に検索する文字列があったら、その文字だけを色をかえて表示したいのです。
 たとえば、
 A1:「ああああ」
 A2:「いいいい」
 A3:「ああああいいいい」
 とある場合に、「ああ」で検索すると、A1、A3が一致し、さらに「ああああ」だけ色が
 かわり、A3の「いいいい」の部分には黒のまま
 という、検索エンジンの検索結果に見られるような表示をさせていのです。
 マクロではなく、関数で出来ませんでしょうか?
 よろしくお願いします。
 [Excel2007][winXP]


 >関数で出来ませんでしょうか?
  ↑
 ここについてだけですが、関数では出来ません。

 (半平太) 2010/07/07 22:58

 やっぱりできないんですね・・・
 自分も無い知恵絞っていろいろやってみたけどダメでした。
 マクロを知らない人間にもできる方法をと思ってましたが、
 マクロに切り替えてみます。
 ありがとうございました。

 マクロ案です。。
 検索する文字列を B1 に入力しておいて、、
 検索対象セルを選択して、下記のマクロを実行するとできると思います。

 標準モジュールに貼り付けてみて。。

 Sub 検索文字の着色()
    Dim i As Integer, j As Integer
    Dim k As Integer, c As Range

    For Each c In Selection
        For i = 1 To Len(c)
            k = InStr(i, c.Value, Range("B1").Value, vbTextCompare)
            j = InStr(k + Len(Range("B1")), c.Value, Range("B1").Value, vbTextCompare)
            If k > 0 Then
                c.Characters(k, Len(Range("B1"))).Font.ColorIndex = 3
                If j = 0 Then Exit For
            End If
            i = i + Len(Range("B1")) - 1
        Next i
    Next c
 End Sub
 (kei)

コメント返信:

[ 一覧(最新更新順) ]


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