Excelは計算ばかりでなく、文字情報をデータベース的に管理したい場合にも重宝します。例えばオートフィルタ機能を使えば特定の文字を含む行を絞り込めますし、検索機能を使えば特定の文字を含むセルを探し出せます。

 ただし今回は、大量の文字情報が入っている表から、特定のキーワードを浮かび上がらせるワークシートを作成しました。データを絞り込むのではなく、表全体を見渡しながら特定の文字を探し出したいときに便利です。

 図1が今回作成したシートです。A2セルに目立たせたいキーワードを入力してすぐ横の「実行」ボタンを押してください。するとシートの5~50行目に含まれているキーワードの文字を探して大きく、赤く、太字にします。

図1 A2セルに目立たせたい文字を入力して「実行」ボタンを押すと、表の中にある該当文字が大きくなり、赤の太字に変わる。A2セルには「キーワード」という名前を付けてある
図1 A2セルに目立たせたい文字を入力して「実行」ボタンを押すと、表の中にある該当文字が大きくなり、赤の太字に変わる。A2セルには「キーワード」という名前を付けてある
[画像のクリックで拡大表示]

 マクロを図2に示しました。行ごとにコメントを入れてあります。まず、検索したいキーワードを読み込みます。図1のA2セルにはあらかじめ「キーワード」という名前を付けてあるのでマクロから簡単に読み込めます。キーワードに何も入力されていない場合は実行を終了します。キーワードの文字数を調べているのは、後で文字の色などを変更するときに使うためです。

図2 マクロプログラム。図1の「実行」ボタンに割り当ててある
図2 マクロプログラム。図1の「実行」ボタンに割り当ててある
[画像のクリックで拡大表示]

 For Eachで始まる行で、表の操作対象を指定しています。「5:50」とあるのは「5~50行」の意味です。その間にあるすべてのセルに対して1個ずつ処理をします。この範囲は必要に応じて値を変更してください。

 セルに含まれている文字の中にキーワードを発見したら、その部分だけ書式を変更します。InStrは、指定したキーワードがセル内の何文字目にあるかを調べる関数です。これにより見つかった位置から、キーワードの文字数分だけ、書式を設定します。

With文で複数の書式設定

 今回の例では文字色とサイズと太字を設定しました。書式をまとめて設定する場合はWith文が便利です。WithとEnd Withで挟まれた範囲に書いたすべての書式が設定されます。

 文字色は「ColorIndex = 3」で赤になります。この数字を4にすれば緑、5なら青になります。「Size = 15」で文字サイズが15ポイントになります。Excelは標準サイズが11ポイントですから、必要に応じて好きなサイズに設定してください。「Bold = True」は太字の設定です。ここを「Italic = True」にすれば斜体になります。太字に設定している行を残したまま、斜体の行を追加すれば太字で斜体という設定も可能です。

 今回のシートはキーワード部分の設定をするだけで解除する機能はありません。お手数ですが書式を元に戻すのは手作業でお願いします。

 その代わり、複数のキーワードを次々と入力して、すべてのキーワードを目立たせることが可能です。関連するキーワードを入力すればいいでしょう。図1の例では「バリアフリー」を目立たせていますが、さらにA2セルに「ユニバーサルデザイン」と入力して「実行」ボタンをクリックすると「バリアフリー」に加えて「ユニバーサルデザイン」も目立った状態になります。

サンプルファイルの公開は終了しました。