9/20/2025

Excel。VBA。太字のデータは何件あるのかを求めたい【Number in bold】

Excel。VBA。太字のデータは何件あるのかを求めたい

<VBA>

販売金額のデータがあります。

太字のデータは何件あるのかを求めたい

C列の販売金額のデータ内に、太字のデータが数件あります。


太字のデータは何件あるのでしょうか。


その太字の件数をE2に求めたいのですが、どのようにしたらいいのでしょうか。


Excelの関数には、太字を数えるというような関数は用意されていません。


オートフィルターで、太字の文字だけを抽出して、集計行に件数を表示させるぐらいしか方法はありません。


なかなか、面倒です。


そこで、今回は、Excel VBAで対応することにしました。


Sub 太字件数()

    Dim lastRow As Long

    Dim countBold As Long

    Dim i As Long


    lastRow = Cells(Rows.Count, "C").End(xlUp).Row

    countBold = 0


    For i = 2 To lastRow

        If Cells(i, "C").Font.Bold = True Then

            countBold = countBold + 1

        End If

    Next i

    Range("E2").Value = countBold

End Sub


まずは実行してみましょう。

太字のデータは何件あるのかを求めたい

E2には、3と求めることができました。


では、プログラム文を確認しておきましょう。


変数を用意します

Dim lastRow As Long

繰り返し処理の上限であるデータ件数を入れる変数です。


Dim countBold As Long

太字を数える変数です。


Dim i As Long

繰り返し処理でお馴染みの変数です。


最終行を取得(C列の最後まで)

lastRow = Cells(Rows.Count, "C").End(xlUp).Row


初期化:太字セルのカウントを0に

countBold = 0


2行目から最終行までループ(1行目は見出しなので除外)

For i = 2 To lastRow

    If Cells(i, "C").Font.Bold = True Then

        countBold = countBold + 1

    End If

Next i


Font.Bold = True は、フォントが太字だったら=True と判断することができます。


もし、太字だったら、countBold + 1 として、件数を増やしていきます。


件数を E2 セルに表示

Range("E2").Value = countBold


これで、太字のデータを数えることができます。