CELLNETS Excel開発の専門会社

【VBA入門】注意!オートフィルター絞り込み中の最終行はバグ発生を誘発する危険あり

フィルター絞り込みOn状態のデータ最終行に注意


Excel標準機能のオートフィルター。表計算ソフトならでは、とても便利な機能です。

が、データ絞り込みを行った状態のまま、【最終データ行】の取得は、注意が必要です。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「オートフィルターON状態での最終データ行の取得」をテーマに、解説をしたいと思います。


◆「オートフィルター絞り込み」中という状態で正しい最終行が取得できない

VBA初心者あるある、の中の一つです。

Excel業務では、利用者が一般の事務系の方が多いため、日々の実務経験により、Excelの知識も豊富な場合が多いです。

このため、日頃からExcel機能を駆使して実務を行っている分、オートフィルターSORTピボットテーブルなど、ワークシートに対するあらゆる操作やデータ状態がテストできないと、後に重大な障害をもたらすことがあります。

これが、高度な技術を要し、データベース接続を得意とするエンジニアスキルとは異なるExcel開発の怖いところでもあるのです。

このため、プログラム処理では、オートフィルターOnを想定した、毎回リセットが重要になります。

◆フィルター解除のModule

‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Sub M_AutoFilter適用()
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

On Error Resume Next

‘★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
‘★
‘★ 【Filter:ON】且つ【絞り込み:Off】の状態とする。
‘★
‘★  (1/2) FilterがOffなら、Onにする
‘★  (2/2) FilterがON、且つ、絞り込みOnなら、Offにする
‘★  ※つまり、FilterがON、かつ、絞り込みOffなら、そのまま
‘★
‘★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆

If ActiveSheet.AutoFilterMode = False Then

    ActiveSheet.Range("A1").AutoFilter

Else

    If ActiveSheet.AutoFilter.FilterMode Then

        ActiveSheet.ShowAllData

    End If

End If

On Error GoTo 0

End Sub

【Point】最終行の判定を以下の方法で取得した場合のリスクです。
データ有効範囲のテーブル行数、列数で取得した場合は、非表示データがあっても問題ありません。

'★Fin行
P_Fin行 = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row

今回のテーマは、「オートフィルターON状態での最終データ行の取得」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月5日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

Excelシステム開発

勤怠管理はエクセルで自動化できる|関数の限界とマクロ活用・事例まで解説

更新日:2026年9月5日

Excelシステム開発

顧客管理はエクセルで十分?管理表の作り方5ステップと「限界」の見極め方をプロが解説

更新日:2026年9月5日

Excelシステム開発

マニュアル作成をエクセルで行う手順5ステップ|見やすく作るコツと「自動化」という選択肢

更新日:2026年9月5日

Excelシステム開発

請求書をエクセルで作る方法|テンプレート・関数・インボイス対応まで解説

更新日:2026年9月5日

Excelシステム開発

エクセルでプルダウン連動・自動入力する方法|値の自動入力とリスト連動をわかりやすく解説

更新日:2026年9月5日

Excelシステム開発

棚卸表を自動計算するエクセルの作り方|コピペで使える関数も解説

更新日:2026年9月5日

Excelシステム開発

エクセルの自動計算とは?設定方法・されない原因・自動計算表の作り方まで完全解説

更新日:2026年9月5日

newsite