教えて!ExcelVBA!

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

【ExcelVBA セル操作】入力されているレコード件数を数える(Rows.Count)方法を教えて!

f:id:m_kbou:20200420125513p:plain

指定された範囲に入力されているレコード件数を数える方法について説明します。

 

 

構文

記述方法は以下の通りとなります。

Range(”[セル]”).CurrentRegion.Rows.Count

[説明]:

入力されているレコード件数を数えるには

 「Range(”[セル]”).CurrentRegion.Rows.Count」

と記述します。

[セル] レコード件数を数える範囲の先頭セルを記述します。
※「”」(ダブルクォーテーション)で囲みます。

※指定したセルを基準として下に向かって空白行が現れるまで件数を数えます。

[記述例]:

Range("A1").CurrentRegion.Rows.Count

 

使い方

使い方について具体的に説明します。

範囲に空白行が含まれていない場合

範囲に空白行が含まれない場合について説明します。

[プログラミング例]:

Sub サンプル()

  Dim 件数 As Integer

  件数 = Range("A1").CurrentRegion.Rows.Count
  MsgBox "レコード件数は" & 件数 & "です。"

End Sub

内容は、「A1セルを起点に空白行が現れるまで下に向かってレコード件数を数え、最後にMsgBoxでレコード件数を表示して下さい。」との意味になります。

f:id:m_kbou:20210423180925p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①A1セル~D4セルにデータが入力されています。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210423180939p:plain

②結果は以下の様に表示されます。MsgBoxで「レコード件数は4です。」が表示されます。

f:id:m_kbou:20210423180952p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

範囲に空白行が含まれない場合の説明は以上です。

 

範囲に空白行が含まれる場合

範囲に空白行が含まれる場合について説明します。

[プログラミング例]:

Sub サンプル()

  Dim 件数 As Integer

  件数 = Range("A1").CurrentRegion.Rows.Count
  MsgBox "レコード件数は" & 件数 & "です。"

End Sub

内容は、「A1セルを起点に空白行が現れるまで下に向かってレコード件数を数え、最後にMsgBoxでレコード件数を表示して下さい。」との意味になります。

f:id:m_kbou:20210423181352p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①A1セル~D5セルにデータが入力されており、4行目に空白行があります。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210423181405p:plain

②結果は以下の様に表示されます。MsgBoxで「レコード件数は3です。」が表示されます。(※空白行が含まれている場合は、空白行前迄のレコード件数をカウントします。)

f:id:m_kbou:20210423181422p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

範囲に空白行が含まれる場合の説明は以上です。

  

おわりに

今回は入力されているレコード件数を数える方法について説明しました。上記の例でも説明した通り、連続したセル範囲のレコード件数を数えます。よって、途中で空白行が含まれている場合、空白行前までのレコード件数を数えますので注意して下さい。