教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAで指定範囲のレコード件数を調べる方法

構文

構文は以下の通りです。

Dim 範囲 As Range
Dim レコード件数 As Long
Set 範囲 = Range("A1:A10") '指定範囲を設定
レコード件数 = WorksheetFunction.CountA(範囲)

解説

Dim 範囲 As Rangeは、調べたい範囲を格納するための変数:範囲を定義します。この変数の型はRangeとなります。Dim レコード件数 As Longは、レコード件数を格納するための変数:レコード件数を定義します。型はLongとして、整数を扱います。Set 範囲 = Range("A1:A10")は、範囲変数に調べたいセル範囲を設定します。この例では、セルA1からA10までの範囲が対象となります。レコード件数 = WorksheetFunction.CountA(範囲)は、範囲内の空でないセルの数(レコード件数)を計算し、変数:レコード件数に代入します。CountA関数は、空でないセルの数を数えるExcelの関数です。

プログラミング例

具体的なプログラミング例を紹介します。

Dim 調査範囲 As Range
Dim レコード数 As Long
Set 調査範囲 = Range("B2:B20") 'B2からB20までの範囲を設定
レコード数 = WorksheetFunction.CountA(調査範囲)
MsgBox "指定された範囲には " & レコード数 & " 件のレコードがあります。"

上記ののプログラムは、セル範囲B2からB20までのレコード件数を調べ、結果をメッセージボックスに表示します。CountA関数を使うことで、空でないセルの数を簡単に取得することができます。

まとめ

指定範囲のレコード件数を調べるには、Rangeを使って範囲を指定し、WorksheetFunction.CountAを使用することで、空でないセルの数を計算できます。