HOME技術ExcelExcel VBA:最終行番号を取得する

Excel VBA:最終行番号を取得する

Excelでデータ管理をしていて、VBAでその全データに対して何らかの処理を行う場合、1行目から最終行までループさせて処理を1行ずつ行う場合には、最終行を取得する必要があります。
今回は、最終行を取得するコードです。

Endrow = Worksheets(SHEETNAME).Range(STARTCELL).End(xlDown).Row

SHEETNAME…最終行を取得したいシート名
STARTCELL…SHEETNAMEの先頭行のあるセル(A1など)

ただし、このコードは、表の途中に空白の行がないことが前提です。空白の行がある場合には、空白の行に来たときに、データがなくなったと認識されて、その手前が最終行となります。

表にデータが1件もないとエラーになる

上記のコードで最終行番号を取得する場合、何もデータがないとエラーになります。そのため、通常の使用では以下のようにします。

If Worksheets(SHEETNAME).Range(CHECKCELL).Value <> “” then
Endrow = Worksheets(SHEETNAME).Range(STARTCELL).End(xlDown).Row
For i = STARTCELL_ROW To Endrow
処理
Next
Else
MsgBox(“データが一件もありません”)
End If

関連記事

Excelのフォームのタブオーダーを指定する

Excelでフォームを設定し、部品を複数配置していると、タブキーやEnterキーを押すと次の部品にフォーカスを飛ばすことができます。 この順序が意図したとおりでない場合に、自分で設定する方法を調べまし…続きを読む

Excel VBAでコマンドプロンプトを起動しコマンドを実行する

Excel VBAでコマンドプロンプトを起動し、かつコマンドを実行する方法です。 コマンドプロンプトの実行 コマンドプロンプトを実行するには以下のように書きます。 CreateObject (&#82…続きを読む

Excel:起動時に「MICROSOFT365を試す」と表示される

MicrosoftExcel2016を使っていて、あるときから起動時に「MICROSOFT365を試す 1TBのクラウドストレージで、ファイルを安全に保護し、ファイルにいつでもアクセスできるようになり…続きを読む

Excel:「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」と表示される

メールに添付されたマクロ付きExcelファイルを開いたところ、 「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」と表示され、マクロが実行できなくなっ…続きを読む

Excelで開発タブを表示する

ExcelでVBAをつくるときに「開発」メニューを使いますが、最初は表示されていません。 「開発」を表示するには、Excelを起動して、「ファイル」→「オプション」→「リボンのユーザー設定」から、「リ…続きを読む

Excel VBAでフィルタの絞り込みを解除する

ExcelVBAを使って、フィルタで絞り込んだ内容を解除する方法です。 VBAコード If Worksheets(“シート名”).FilterMode Then Workshe…続きを読む

Excelで数式のみをコピーする

Excelで数式だけをコピーして貼り付ける方法です。 以下のように、セルC6に入力されている数式を、セルD6にコピーしたい場合、セルの右下をドラッグしてD6に持っていくと枠線やセルの背景色などの余計な…続きを読む

Excel VBA:フォルダを開く

Excelでボタンをクリックしたらフォルダを開くようにするVBAです。 Shell EXPLORERPATH & OPENFOLDER , vbNormalFocus EXPLORERPATH…続きを読む

Excelで計算式を入れたセルに計算結果が反映されない

Excelで計算式を予め設定していたにもかかわらず、数値を入力してもそのセルに計算結果が反映されない時があります。 通常、自動計算する設定になっていますが、これが手動計算に変わっていることが原因です。…続きを読む

Excel VBA:フィルタを操作して絞り込む

Excel VBAでフィルタ操作をして、行を絞り込みむ方法です。 コード Sub autoFilter(Retsu, Atai) Worksheets(“シート名”).Rang…続きを読む