訪問して頂きありがとうございます。まさふくろーです。
この記事では使用例を使って、データ行数を取得する方法をご紹介します。
目次
使用例1:空白行がない場合
「データ行数」を求めて、セルに値を設定
使用例2:空白行がある場合
「データ行数」を求めて、セルに値を設定
使用するプロパティ
Endプロパティ
Rangeオブジェクト.End(Direction)
解説 | Rangeオブジェクトで指定したセルを基準として、引数Directionで指定した方向の終端のセルを取得する。 | ||||||||||
Rangeオブジェクトで指定したセルを基準として、引数Directionで指定した方向の次のセルにデータが入力されている場合は、連続してデータが入力されているセル範囲の終端のセルを取得する。 | |||||||||||
次のセルにデータが入力されていない場合は、その先にあるセルを調べて、データが入力されている最初のセルを取得する。 | |||||||||||
指定した方向にデータが何も入力されていない場合は、ワークシートの最終セルを取得する。 | |||||||||||
引数 | Direction: 終端の方向を指定する。
|
ボタンの作成
「開発」タブの確認
ボタンの作成
①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。
シート上にカーソルを移動し、ポインターを「+」の状態にします。
左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。
「マクロの登録」画面が表示されます。
①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。
ボタンの名前を変更する
エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。
右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。
ボタンの名前を変更します。
「使用例1」のサンプルプログラム
VBAコードの入力
VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。
1 2 3 4 5 6 7 8 9 |
Sub 実行ボタン_Click() Dim DataRowCnt As Long DataRowCnt = Range("A6").End(xlDown).Row - 5 Range("A3").Value = DataRowCnt End Sub |
3 | 「データ行数」取得用変数「DataRowCnt」を宣言 |
5 | 「A6」セルを基準にして、下方向にデータのある最終行を取得。データ開始位置は6行目からなので、データのある最終行15から5を引く。結果を変数「DataRowCnt」に格納。 |
7 | 変数「DataRowCnt」の値を、「A3」セルに設定。 |
「使用例2」のサンプルプログラム
VBAコードの入力
VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。
1 2 3 4 5 6 7 8 9 |
Sub 実行ボタン_Click() Dim DataRowCnt As Long DataRowCnt = Cells(Rows.Count, 1).End(xlUp).Row - 5 Range("A3").Value = DataRowCnt End Sub |
3 | 「データ行数」取得用変数「DataRowCnt」を宣言 |
5 | 「エクセルシートの最大行」のセルを基準にして、上方向にデータのある最初の行を取得。データ開始位置は6行目からなので、データのある最初の行16から5を引く。結果を変数「DataRowCnt」に格納。 ※「Rows.Count」でエクセルシートの最大行数を取得できます。 |
7 | 変数「DataRowCnt」の値を、「A3」セルに設定。 |
VBAコードの保存
「ファイル」タブをクリックします。
「名前を付けて保存」を選択し、ファイル保存画面を起動します。
①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。
最後まで読んでいただき、ありがとうございました!
本のまとめ記事はこちら