Excelで英単語リストを作成しています。
セルの中に文字列で例文を書いて、重要単語部分は太字(Bold)にしているのですが、
太字部分を白色に変更して練習帳を作成したいと考えています。
(変換前) Millions of people suffer from insomnia these day.
(変換前) Millions of people suffer from these day.
※この場合、セル中で"insomunia"のみが太字になっています。
例文数が多い(1000以上)ので、一括で変換できる方法を探しています。
詳しい方がいらっしゃいましたら、是非御教授下さい。
よろしくお願い致します。
太字の文字を「白色」にするのは簡単なのですが、問題は「太字だったところを太字ではなくした」場合の処理です。当然見える文字にしなくてはなりませんね。
太字の文字は「白色」にする。太字でなくて「白色」の文字は「黒(自動)」にする。はじめから「赤」や「青」の文字はそのままにするという考え方でよいですか?
以下のマクロを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
マクロの実行結果は元に戻せませんから、必ずファイルのコピーを取ってから実行してみてください
お礼
質問が曖昧だったかも知れませんが、ご丁寧にありがとうございます。 ご提案の方法で問題ありませんでした!早速のご回答に大変感謝致しております。ありがとうございました!!