HOME技術ExcelExcel VBA:フィルタを操作して絞り込む

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

Excel VBAでフィルタ操作をして、行を絞り込みむ方法です。

コード

Sub autoFilter(Retsu, Atai)
Worksheets(“シート名”).Range(“A3”).CurrentRegion.autoFilter Field:=Retsu, Criteria1:=Atai
End Sub

“シート名”のワークシートのA3セルを基準として、Retsu番の列のAtaiと同じ値のセルがある行のみを表示します。

autoFilterを呼び出すときは、引数に列番号と絞り込む値を指定します。
例えば、B列のセルの値が「あ」の行だけ表示したい場合には、以下のようにします。

autoFilter 2, “あ”

フィルタリングする範囲は、本来ならば、Range(A3:B4)などと指定するのですが、Excelが表形式につくられているときには、Range(“A3”)などの、データがあるセルを指定すると、自動的に範囲を認識してフィルタリングしてくれます。

関連記事

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

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

Exdel VBA:グローバル変数の指定

Excel VBAでグローバル変数を設定する方法です。 プロシージャ内で宣言した変数は、そのプロシージャ内でしか通用しません。 すべてのプロシージャから参照するような定数を設定する場合には、以下のよう…続きを読む

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

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

Excelで開発タブを表示する

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

Excelで起動時にフォームのみ表示する

Excelで起動時にフォームを表示し、Excelそのものの表画面は非表示にする方法です。 起動時にフォームを表示する 「開発」→「コードの表示」から「Microsoft Visual Basic fo…続きを読む

Excelで指定行おきに色をつける

Excelの行に、1行おきに色を付けたい、2行おきに色を付けたい、というときの方法です。 まず、色を付ける範囲を指定します。 次に、メニューから「ホーム」→「条件付き書式」→「新しいルール」をクリック…続きを読む

Excelでセルに入力できる文字数制限を設定する

Excelで、セルに入力できる字数の制限を設定する方法です。 全角・半角問わず字数制限する メニューから「データ」を選択し「データの入力規則」をクリックします。 データの入力規則設定画面で、「設定」タ…続きを読む

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

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

Excel VBAで「はい」「いいえ」の条件分岐をする

Excel VBAでメッセージ(質問)を表示して、ユーザに「はい」「いいえ」の選択をさせて、その結果で処理を分岐させる方法です。 if文による条件分岐 条件分岐には以下のようなif文を使います。 If…続きを読む

Excel VBA:特定のシートをコピーして別ブックを生成する

Excel VBAで、特定のシートの値をすべてコピーして、新しい別のExcelブックを生成してそのシートに貼りつけます。 なお、ブックを生成した後は、各自で保存します。 コード Worksheets(…続きを読む