MENU

フィルター

ノーコードでこんなことできます

【1】本アプリは、フィルター結果の表示、②コピー、削除が可能です。

【2】フィルター条件は、1つ、2つ、3つ以上が可能です。

 ・条件2つは、AND条件とOR条件が可能です。

 ・条件3つ以上はAND条件のみです。f:id:The-Alchemist:20220105115017p:plain

 

【3】部分一致(文字列を含む、で始まる、で終わる)の指定方法

条件値に●●を含むは*●●*、●●で始まるは●●*、●●で終わるは*●●と入力します。

アプリのコード作成画面

コード作成画面です。

f:id:The-Alchemist:20220104181702p:plain



コードの解説

表示されるVBAコードの説明です。

変数の宣言

Sub デモ_1() 'フィルター条件1つ
Dim セル範囲 As String, セル As Range, 右下セル As String

Sub のあとに表示されるプログラム名は、"デモ_1"です。

・Dimで「変数」を宣言します。

最終行を取得し、セル範囲を決める

Sheets("sheet1").Select

・"sheet1"を選択します。

Range("a1:g1").CurrentRegion.Select

CurrentRegionで、"a1:g1"セルを含む表全体を選択します。

右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("g1").Column).Address(False, False)

・変数右下セルに、表の右下セルのアドレスを代入します。

セル範囲 = "a1" & ":" & 右下セル

・変数セル範囲に 、"a1" から 右下セルまでの範囲を代入します。

 Range(セル範囲).Select

セル範囲を選択します。

メイン処理の呼び出し

Call デモ_1_メイン処理(セル範囲)

・Callでメイン処理”デモ_1_メイン処理”を呼び出します。

End Sub 

・End Subでデモ_1()を終了します。

メイン処理

Sub デモ_1_メイン処理(セル範囲 As String)

・メイン処理のプログラム名は、”デモ_1_メイン処理”です。

Range(セル範囲).AutoFilter Field:=3, Criteria1:="=りんご"

・セル範囲の3列目を”りんご”でフィルターをかけます。

Selection.CurrentRegion.Copy

選んだ”セル範囲”の表全体コピーします。

Sheets("sheet1").Select          
Range("j1").Select    
Selection.PasteSpecial Paste:=xlPasteAll

・"sheet1"の"j1"セルを選択し、貼り付けます。

Application.CutCopyMode = False

End Sub

コピーモードを解除します。

End Subデモ_1_メイン処理を終了します。

アプリはこちらから↓↓↓↓