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
これで、太字のデータを数えることができます。