オートフィルター
オートフィルターのデータ部分を取得するにはAutoFilter.Rangeを使用します。ただしこれは見出しもついてくるため、Offset+Resizeを利用して見出しを除外します。各列を取得する場合はそこからIntersectを使用します。
フィルター抽出中のデータをコピーする方法を解説します。Copyメソッドには「非表示行をコピーしない」機能があるため、 可視セルを取得する必要はなく、純粋なCopyメソッドで実行可能です。 抽出中のフィルターエリア全体をコピーする 見出し部分を除いてコ…
オートフィルターの最終行を取得するコードを解説します。これを一発で取得するプロパティは残念ながらありませんので、AutoFilter.Rangeでフィルターのかかっているエリアを取得し、そのエリアの最終行を取得する手法を用います。
本日20:00~VBAの悩みはVBAerに聞け(Zoom配信)に登壇いたします。他者がコーディングする様をリアルタイムに見、その場で解説を聞くためのイベントです。内容は、初級者向けに、オートフィルターの基本コードを解説します。
「10以上」や「15以上20以下」など、オートフィルターによる数値の条件・区間での絞り込みを、コピペして使えるユーティリティ関数にしたものを紹介します。お忙しい方は、ソースコードをコピーして、使い方のように呼び出すだけでOKです。
オートフィルターで抽出中のレコードを数えるユーティリティ関数を紹介します。レコードが抽出されているかどうかは、その行が表示されているかを調べればわかるので、「見えている行の数 ⇒ どこか1列の見えているセルの数」を数えることで計算します。
オートフィルターのクリア(すべての抽出をリセットして、すべての行を表示する)を、コピペして使えるユーティリティ関数にしたものを紹介します。お忙しい方はソースコードをコピーして、呼び出すだけでOKです。コードをしっかり読みたい方は、解説をどうぞ。
オートフィルターで一番基本となる「データの抽出」を、コピペして使えるユーティリティ関数にしたものを紹介します。オートフィルターはとても便利な機能で、しかも高速なので、使いこなせば読みやすくて速いマクロを作ることができます。