文字列を太字に変更・太字を解除する方法
今回の目標
この記事では、文字列を太字にする方法や太字であるかを取得する方法を解説します。
目標リスト
- 文字列を太字に変更・解除できるようになる
- 文字列に太字が設定されているか確認できるようになる
- セル内の一部の文字のみ、太字に変更できるようになる
Font.Bold プロパティについて
Font.Bold プロパティとは
Font.Bold プロパティは、Rangeオブジェクトに含まれる Font オブジェクトのプロパティで、太字へ変更または太字であるかを取得できます。
取得時は Boolean 型の値で、True の場合は太字で、False の場合は太字ではありません。
Font.Bold プロパティの構文
セルA1を太字に変更するプログラムです。
Range("A1").Font.Bold = True
セルA1が太字であるか取得するプログラムです。取得結果はイミディエイトウィンドウに表示されます。
Debug.Print Range("A1").Font.Bold
文字列を太字に変更、太字を解除する
Rangeオブジェクトの Font.Bold を使って太字へ変更します。
サンプルコード
Sub FontBoldSample1()
'サンプルテキストを入力する
Range("A1:A2").Value = "地道に学ぶExcelVBA"
'太字に設定する
Range("A1").Font.Bold = True
'太字を解除する
Range("A2").Font.Bold = False
End Sub
【実行結果】
(下の画像のようになります)
(下の画像のようになります)
文字列が太字であるか確認する
Rangeオブジェクトの Font.Bold で文字列の太字であるか確認します。
サンプルコード
Sub FontBoldSample2()
Dim flag As Boolean
'セルA1が太字か取得する
flag = Range("A1").Font.Bold
'セルA1が太字であるか否かで処理を分ける
If flag Then
Debug.Print "セルA1は太字です。"
Else
Debug.Print "セルA1は太字でありません。"
End If
End Sub
【実行結果】
セルA1は太字です。
セルA1は太字です。
文字列の一部を太字に変更する
文字列の一部を太字に変更する場合は、「Range」オブジェクトと「Font.Bold」プロパティの間に『Characters』を追加します。
詳細は別記事(※準備中)で説明しますが、『Characters(開始位置, 文字数)』プロパティを使用します。
例:Range("A1").Characters(3, 2).Font.Bold = True
→ セルA1の3文字目から2文字のみ(=3文字目と4文字目)、太字へ変更する
サンプルコード
Sub FontBoldSample3()
'セルA1にテキストを入力し、太字を解除する
With Range("A1")
.Value = "ABCDEFGHIJ"
.Font.Bold = False
End With
'セルA1の3文字目から2文字のみ、太字にする
Range("A1").Characters(3, 2).Font.Bold = True
'セルA1の7文字目から3文字のみ、太字にする
Range("A1").Characters(7, 3).Font.Bold = True
End Sub
【実行結果】
(下の画像のようになります)
(下の画像のようになります)
