プロが教える店舗&オフィスのセキュリティ対策術

Excelで英単語リストを作成しています。
セルの中に文字列で例文を書いて、重要単語部分は太字(Bold)にしているのですが、
太字部分を白色に変更して練習帳を作成したいと考えています。

(変換前) Millions of people suffer from insomnia these day.
(変換前) Millions of people suffer from       these day.

  ※この場合、セル中で"insomunia"のみが太字になっています。

例文数が多い(1000以上)ので、一括で変換できる方法を探しています。

詳しい方がいらっしゃいましたら、是非御教授下さい。
よろしくお願い致します。

A 回答 (1件)

太字の文字を「白色」にするのは簡単なのですが、問題は「太字だったところを太字ではなくした」場合の処理です。

当然見える文字にしなくてはなりませんね。

太字の文字は「白色」にする。太字でなくて「白色」の文字は「黒(自動)」にする。はじめから「赤」や「青」の文字はそのままにするという考え方でよいですか?

以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。

Sub Macro5()
Dim rng As Range
Dim ptr As Long
 Application.ScreenUpdating = False
 For Each rng In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 3)
  For ptr = 1 To Len(rng.Value)
   If rng.Characters(ptr, 1).Font.Bold = True Then
    rng.Characters(ptr, 1).Font.ColorIndex = 2
   Else
    If rng.Characters(ptr, 1).Font.ColorIndex = 2 Then
     rng.Font.ColorIndex = xlAutomatic
    End If
   End If
  Next ptr
 Next rng
 Application.ScreenUpdating = True
End Sub

マクロの実行結果は元に戻せませんから、必ずファイルのコピーを取ってから実行してみてください
    • good
    • 0
この回答へのお礼

質問が曖昧だったかも知れませんが、ご丁寧にありがとうございます。
ご提案の方法で問題ありませんでした!早速のご回答に大変感謝致しております。ありがとうございました!!

お礼日時:2007/05/01 22:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています