ExcelのVBAを使ってカウントしてみよう!【フォントの色別にセルを数える方法】

2020/01/14

社会人ライフ

エクセルではExcel関数だけでなく、VBA(Visual Basic for Applications)を利用したマクロを機能させることで、より多くの作業ができるようになります。例えば、セルの文字色を条件とするカウントは、Excelの標準関数では数え上げることができないため、VBAを利用すればカウントすることができます。
難しく感じるかもしれませんが、今回の記事でコードをコピー&ペーストで実装できるようにしていますので、ぜひ試してみてください。

Excelの関連記事はこちら

ExcelのVBAを使ってカウントしてみよう!【フォントの色別にセルを数える方法】

フォントの色別でセルを数える

「フォントが赤色のセルをカウントしたい」という場合には、Excel標準関数ではカウントすることができません。VBAを使えば、以下の手順でカウントすることができます。

カウント関数をVBAでコーディングする手順

(1)エクセルを開いた状態で、「Alt + F11」キーを同時に押し、VBAウィンドウを表示します。

カウント関数をVBAでコーディングする手順1

(2)「VBAProject(エクセルファイル名)」を右クリック>「挿入」>「標準モジュール」を選択します。

カウント関数をVBAでコーディングする手順2

(3)下記のVBAのコードを入力します。

カウント関数をVBAでコーディングする手順3

Public Function CountColor(ByVal area As Range, ByVal colorCell As Range) As Long
  
 
Dim targetRange As Range
Dim wkCount As Long
 
wkCount = 0
 
For Each targetRange In area
    If targetRange.Font.Color = colorCell.Font.Color Then
        wkCount = wkCount + 1
    End If
Next
 
CountColor = wkCount
 
  End Function

作成したVBAコードの利用方法

(1)「=CountColor(検索範囲,検索文字色セル)」を入力します。

作成したVBAコードの利用方法1

「検索文字色セル」には、検索したい対象の文字色と同じ文字色のセルを指定します。
今回の画像の例であれば、黒字の場合は「A6」セル赤字の場合は「B6」セル青字の場合は「C6」セルですね。
セルの文字色情報を読み取り、その情報を元に検索範囲内の同一文字色のセルをカウントします。

利用する際の注意点

検索範囲の文字色を変更した場合、自動的にカウント結果に反映されません。

作成したVBAコードの利用方法2

その場合は、計算セルをダブルクリックし、Enterを入力します。そうすることで再度処理が実行され、カウント結果が更新されます。

作成したVBAコードの利用方法3

作成したVBAコードの利用方法4

また、ファイルを保存する場合は、作成したコードごと保存できる「.xlsm」形式で保存してください。通常の「.xlsx」形式では、VBAコードが保存されないため、「CountColor」関数が使えなくなります。

VBAの使用をすぐに開始する方法

上部のリボンに「開発」タブを追加することでより、スムーズにVBAを使用することができます。

(1)上部にあるリボンから「ファイル」を選択します。

VBAの使用をすぐに開始できる方法1

(2)「オプション」を選択します。

VBAの使用をすぐに開始できる方法2

(3)「リボンのユーザー設定」を選択し、右側の「開発」にチェックを入れます。

VBAの使用をすぐに開始できる方法3

(4)「開発」タブが表示されることを確認します。

VBAの使用をすぐに開始できる方法4

まとめ

VBAのコードを記述することで、Excelの標準関数ではできないフォントの文字色別のカウントなどができるようになります。コードを記述する、と聞くと難しそうに思えますが、コピー&ペーストでも実装できるため、ぜひ試してみてくださいね。

(学生の窓口編集部)

関連記事

新着記事

もっと見る

HOT TOPIC話題のコンテンツ[PR]

注目キーワード

注目:社会人ライフ全般

  • 新生活準備応援クーポン特集


    ピックアップ [PR]