すべての発生を太字にする(Microsoft Excel)
トムは、Wordでは、検索と置換を使用して、出現するすべての単語を太字にすることができると正しく述べています。 (単語を検索し、太字の書式設定がオンになっている同じ単語に置き換えます。)彼はExcelで同じことをどのように行うことができるのか疑問に思います。
Excelでこのような変更を行うのは実際には非常に簡単で、Wordで行うのと実質的に同じ方法で行われます。次の手順に従ってください:
。 Ctrl + Hを押して、[検索と置換]ダイアログボックスの[置換]タブを表示します。
。 [オプション]ボタンをクリックして、ダイアログボックスを展開します。 (図1を参照)
。 [検索する文字列]ボックスに、太字にする単語を入力します。
。 [置換]ボックスに同じ単語を入力します。
。 [置換]ボックスの右側にある[フォーマット]ボタンをクリックします。 Excelは、[フォーマットの置換]ダイアログボックスを表示します。
。 [フォント]タブをクリックします。 (図2を参照)
。 [フォントスタイル]リストで、[太字]を選択します。
。 [OK]をクリックして、[フォントの置換]ダイアログボックスを閉じます。
。 [すべて置換]をクリックして、置換を実行します。
これは非常に簡単に見えますが、これらの手順により、セル内の単語だけでなく、セル全体の書式が変更されることを覚えておく必要があります。
したがって、「茶色」という単語を検索して置き換えると、「茶色」という単語を含むセルはすべて太字になります。つまり、単語だけでなくセル全体が太字になります。
セル内の単語のみに影響を与えたい場合、これらの手順は機能しません。代わりに、太字にするためにマクロに頼る必要があります。
基本的に、ワークシートを調べて何を変更できるかを決定するマクロが必要です。 (数式や数値の個々の単語や数字を太字にすることはできません。テキスト定数の単語レベルの書式を変更することしかできません。)
マクロが処理できるセルを見つけたら、セルを検索して目的の単語を探し、そのテキストを太字にする必要があります。次のマクロは、まさにこの戦略を実装しています。
Sub FindAndBold() Dim sFind As String Dim rCell As Range Dim rng As Range Dim lCount As Long Dim iLen As Integer Dim iFind As Integer Dim iStart As Integer On Error Resume Next Set rng = ActiveSheet.UsedRange. _ SpecialCells(xlCellTypeConstants, xlTextValues) On Error GoTo ErrHandler If rng Is Nothing Then MsgBox "There are no cells with text" GoTo ExitHandler End If sFind = InputBox( _ Prompt:="What do you want to BOLD?", _ Title:="Text to Bold") If sFind = "" Then MsgBox "No text was listed" GoTo ExitHandler End If iLen = Len(sFind) lCount = 0 For Each rCell In rng With rCell iFind = InStr(.Value, sFind) Do While iFind > 0 .Characters(iFind, iLen).Font.Bold = True lCount = lCount + 1 iStart = iFind + iLen iFind = InStr(iStart, .Value, sFind) Loop End With Next If lCount = 0 Then MsgBox "There were no occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "to bold." ElseIf lCount = 1 Then MsgBox "One occurrence of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "was made bold." Else MsgBox lCount & " occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "were made bold." End If ExitHandler: Set rCell = Nothing Set rng = Nothing Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
マクロは最初に、検索範囲をテキスト定数を含むセルに設定します。次に、変更が必要な単語の入力をユーザーに求めます。
入力すると、マクロは範囲内のすべてのセルの検索を開始します。各セルは、ターゲット単語が含まれているかどうかを確認するためにチェックされます。その場合、それらの文字の.Boldプロパティが設定され、マクロは検索を続行します。
マクロは、行われた変更の数も追跡し、作業の最後に変更の合計を表示します。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(12105)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイスに関するこのヒントのバージョンは、 `link:/ excel-Making_All_Occurrences_Bold [Making All OccurrencesBold]`にあります。