1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

【VBA入門】シートの最終行を求める方法

【VBA入門】
Pocket

VBAでExcelシートの最終行を求める方法についてご説明します。
シートに入力されているデータの終端を求める場合、扱いたいデータの特性について把握しておく必要があります。
以下、詳しく解説いたします。

シート全体の最終行を求める方法

<コード>

<実行例>

Rows.Countでシートの縦方向のセルの数(行数)を、Columns.Countで横方向のセルの数(列数)を求めることができます。
ここではExcelのバージョンにより最大行数・列数が異なる点に注意しましょう。
ちなみにExcel2003では65536行・256列、Excel2007では1048576行・16384列となります。
Rows.CountやColumns.Countを使用してあらかじめバージョンの違いを想定した柔軟なコードを組んでおくと安心ですね。

ブランクの無いデータについて最終行を求める方法

表の1列目から最終行まで何らかの値が入力されているデータの場合、下記のコードで最終行を求めることができます。
このコードは基準となるセル(A1)を選択してCtrl+↓キーを押した場合(xlDown)と同じ動作をします。
ちなみに、基準となるセルから右方向へ最終列を求める場合、引数をxlToRightにします。

<コード>

<実行例>

ブランクが発生する可能性のあるデータについて最終行を求める方法

ところで、先ほどの例では表の途中にブランクのあるデータが存在する場合、そこで行のカウントが止まってしまうという欠点があります。
<実行例>

このような場合、シート全体の最終行から上に向かってデータの最終行を求めるという方法があります。
<コード>

<実行例>

ところで、このコードにも1つ難点があります。シートの最終行までデータが埋まっているような場合は
Ctrl+↑キーを押したときと同様に連続してデータが入力されているセルの上端までカーソルが移動してしまうのです。
そこで、このようなパターンを想定してIF文で処理をしておく必要があります。

<コード>

まとめ

Excelシート上のデータの最終行を求めるためにはデータのブランクの有無や
シートいっぱいにデータが入力されている場合など色々なパターンを考慮しておくことが大切です。
データの特性について知り、状況の変化にも対応できる柔軟なコードを組むようにしましょう。

【おすすめ記事】

習得必須!VBAを教われるスクールBEST5
VBAの本・参考書の評判
業務効率をアップする!コピペで動くVBA5選
【VBA入門】Msgboxでメッセージボックスを活用する方法

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る