構文
構文は以下の通りです。
WorksheetFunction.CountA(範囲)
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。CountA関数は、指定した範囲内の空白でないセルの数を数える関数です。数値、文字列、論理値(TRUE、FALSE)、エラー値、または空の文字列("")をカウントしますが、完全に空のセルはカウントしません。範囲は、空白でないセルを数える範囲です。この範囲はシート上のセル範囲や配列変数でも指定できます。
プログラミング例
具体的なプログラミング例を紹介します。
(例1)範囲のセルの数を数える
Sub カウントA関数の例1()
Dim 範囲 As Range
Dim 非空セル数 As Long
' A1からA10の範囲を指定
Set 範囲 = Range("A1:A10")
' 範囲内の非空セルの数を数える
非空セル数 = WorksheetFunction.CountA(範囲)
' 結果をメッセージボックスで表示
MsgBox "A1からA10の範囲にある空白でないセルの数は " & 非空セル数 & " です。"
End Sub
Dim 範囲 As Range
Dim 非空セル数 As Long
' A1からA10の範囲を指定
Set 範囲 = Range("A1:A10")
' 範囲内の非空セルの数を数える
非空セル数 = WorksheetFunction.CountA(範囲)
' 結果をメッセージボックスで表示
MsgBox "A1からA10の範囲にある空白でないセルの数は " & 非空セル数 & " です。"
End Sub
上記のプログラムでは、Range("A1:A10")A1からA10の範囲を指定し、その範囲内の空白でないセルの数をWorksheetFunction.CountA数えています。 結果は、メッセージボックスで表示されます。
(例2)配列の非空セルの数を数える
Sub カウントA関数の例2()
Dim 配列() As Variant
Dim 非空セル数 As Long
' 配列に値を設定
配列 = Array("りんご", "", "みかん", "バナナ", "")
' 配列内の非空セルの数を数える
非空セル数 = WorksheetFunction.CountA(配列)
' 結果をメッセージボックスで表示
MsgBox "配列の中の空白でない要素の数は " & 非空セル数 & " です。"
End Sub
Dim 配列() As Variant
Dim 非空セル数 As Long
' 配列に値を設定
配列 = Array("りんご", "", "みかん", "バナナ", "")
' 配列内の非空セルの数を数える
非空セル数 = WorksheetFunction.CountA(配列)
' 結果をメッセージボックスで表示
MsgBox "配列の中の空白でない要素の数は " & 非空セル数 & " です。"
End Sub
上記のプログラムでは、配列内の空白要素を数えています。Array("りんご", "", "みかん", "バナナ", "")で空の要素を含んだ配列を設定し、WorksheetFunction.CountAで空でない要素の数を数えます。
まとめ
CountA関数は、範囲や配列内の空白セルや要素をカウントする便利な関数です。