Excel VBA:オートフィルターが存在する場合は削除する (7 つの例)
マイクロソフト エクセル オートフィルターを削除する複数の方法を提供します ワークシートから または Excel テーブル。 この記事では、 7 について学びます。 オートフィルターが存在する場合はそれを削除するメソッド VBA スクリプトを使用して Excel で。
次のリンクから Excel ファイルをダウンロードして、それに沿って練習できます。
Excel に AutoFilter が存在する場合、VBA を使用して AutoFilter を削除する 7 つの例
1.存在する場合、アクティブなワークシートからオートフィルターを削除します
次のスクリーンショットは AutoFilter を示しています アクティブなワークシートで実行中です。 この AutoFilter を削除します VBA を使用する コード。
オートフィルタを削除したい場合 アクティブなワークシートから 次に、以下の手順に従ってください:
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Public Sub RemoveAFActiveWorksheet()
If ActiveSheet.AutoFilterMode Then
ActiveSheet.AutoFilterMode = False
End If
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- ここでは、 サブ プロシージャ を作成しました Public Sub RemoveAFActiveWorksheet
- 次に、IF ステートメントを使用しました 存在するかどうかを確認する 任意の オートフィルター 存在する場合 AutoFilter を削除します AutoFilterMode を設定すると 偽に .
❺ アクティブなワークシート に戻ります ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFActiveWorksheet を選択します 実行をクリックします ボタン。
オートフィルタ が表示されます 削除されました すべてのデータが表示されます
続きを読む: オートフィルターがオンになっているかどうかを確認する Excel VBA (4 つの簡単な方法)
2. VBA を使用してすべてのワークシートからオートフィルターを削除する
次の図を見てください。 オートフィルタ が表示されます 両方のワークシートに適用されます。 VBA を書きます オートフィルタを削除するコード すべてのワークシートから ワークブックで .
ブック内のすべてのワークシートからオートフィルターを削除するには 以下の手順に従ってください:
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Public Sub DeleteAFfromallWorksheets()
Dim xWs1 As Worksheet
For Each xWs1 In ActiveWorkbook.Worksheets
If xWs1.AutoFilterMode = True Then
xWs1.AutoFilterMode = False
End If
Next xWs1
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- ここでは、For ループを使用しました 検索 オートフィルター 各ワークシート。
- 次に、IF ステートメントを使用しました 存在するかどうかを確認する 存在する場合 AutoFilter を削除します ActiveSheet.AutoFilterMode を設定すると 偽に .
❺ ワークシートに戻ります ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFfromallWorksheets を選択します。 実行をクリックします ボタン。
これで、すべてのオートフィルター アイコンが削除されたことがわかります すべてのワークシートから ワークブックで 下の図のように:
3.テーブルの単一の列からオートフィルターをクリア
下の図では、 AutoFilter を確認できます。 最初の列にのみ適用されます テーブルの。このメソッドでは、1 つの列からオートフィルターをクリアするコードを記述します。
そのために、
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ 今 コピー 次の VBA コード。
Sub DeleteAFSingleColumnfromTable()
Dim xWs1 As Worksheet
Dim xTableName1 As String
Dim xLT1 As ListObject
xTableName1 = "TableA"
Set xWs1 = Sheets("MyTable1")
Set xLT1 = xWs1.ListObjects(xTableName1)
xLT1.Range.AutoFilter Field:=1
End Sub
❹その後、貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- まず、3 つの変数を宣言しました。
- 次に、テーブル名を挿入しました とセット シート名 .
- その後、ListObjects を使用しました 可視化するプロパティ すべての コンテンツ テーブルの .
- 最後に、入力します テーブル列インデックス オートフィルタ フィールドの使用
❺ ワークシートに戻ります ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFSingleColumnfromTable を選択します 実行をクリックします ボタン。
その後、 AutoFilter が表示されます 最初の列には存在しません
4.テーブルの複数の列からオートフィルターを削除
次の図は、2 つの AutoFilter を示しています。 最初のアイコン そして2番目 テーブルの列。 オートフィルタを削除するには、この方法に従ってください。 2 列 から テーブル の VBA を使用 .
次の手順に従って、複数の列に存在する場合はオートフィルターをクリアします。 Excel テーブルで。
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Sub DeleteAFMultiColumnsfromTable()
Dim xWs1 As Worksheet
Dim xTableName1 As String
Dim xLT1 As ListObject
xTableName1 = "TableA"
Set xWs1 = Sheets("MyTable1")
Set xLT1 = xWs1.ListObjects(xTableName1)
xLT1.Range.AutoFilter Field:=1
xLT1.Range.AutoFilter Field:=2
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- まず、3 つの変数を宣言しました。
- 次に、テーブル名を挿入しました とセット シート名 .
- その後、ListObjects を使用しました 可視化するプロパティ すべての コンテンツ テーブルの .
- 最後に、入力します 2 つのテーブル カラム インデックス オートフィルタ フィールドの使用
❺ ワークシート に戻ります。 ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ DeleteAFMultiColumnsfromTable を選択します。 実行をクリックします ボタン。
コードを実行すると、 AutoFilter が表示されます は 削除されています 複数の列から。
続きを読む: [修正]:Range クラスの AutoFilter メソッドが失敗しました (5 つの解決策)
5. Excel VBA を使用してテーブル全体からオートフィルターをクリアする
オートフィルタ がある場合 下の図のようにテーブルに適用され、削除したい
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Sub RemoveAFfromEntireTable()
Dim xWs1 As Worksheet
Dim xTable1 As String
Dim xTable2 As ListObject
xTable1 = "TableB"
Set xWs1 = ActiveSheet
Set xTable2 = xWs1.ListObjects(xTable1)
xTable2.AutoFilter.ShowAllData
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- まず、3 つの変数を宣言しました。
- 次に、テーブル名を挿入しました 次のセット シート名 ActiveSheet として .
- その後、ListObjects を使用しました 可視化するプロパティ すべての コンテンツ テーブルの セットを使用 xTable2 に格納するステートメント
- 最後に ShowAllData を使用しました AutoFilter をオフにするプロパティ .
❺ ワークシートに戻る テーブルを持って ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFfromEntireTable を選択します 実行をクリックします ボタン。
オートフィルタ 削除されます テーブル全体から 下の図のように:
6.存在する場合、パスワードで保護されたワークシートからオートフィルターを削除
下の図に示されている次のデータセットでは、オートフィルターが有効になっています。 パスワードで保護されています . 7878 です .
このメソッドでは、VBA コードを取得します クリア out オートフィルター パスワードで保護されたワークシートから このように。
以下の手順に従ってください:
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Sub RemoveAFwithPass()
Dim UserPwd As String
UserPwd = "7878"
With ActiveSheet
.Unprotect Password:=UserPwd
.ShowAllData
.Protect _
Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True, _
Password:=UserPwd
End With
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- まず、変数を宣言しました パスワードを入力します。
- その後、ActiveSheet で 、ユーザー パスワードを割り当てました パスワード保護の解除へ。
- ShowAllData を使用 すべてを表示するプロパティ。
- 次に True を割り当てました 目次へ 、AllowFiltering 、および UserInterfaceOnly 保護を解除する
❺ パスワードで保護されたワークシート に戻ります ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFwithPass を選択します。 実行をクリックします ボタン。
その後、 オートフィルター 削除されます すべての記録が表示されます このように:
7.パスワードなしで保護されたワークシートからオートフィルターを削除するための VBA の使用
次の図は、 保護されたデータセット を示しています パスワードなし .このメソッドでは、オートフィルターを削除するコードを記述します。 パスワードなしで保護された から
以下の手順に従ってください:
❶ まず、ALT + F11 を押します VBA エディタを開きます。
❷ 次に 挿入 に移動します>> モジュール .
❸ コピー 次の VBA コード。
Sub RemoveAFwithoutPass()
With ActiveSheet
.Unprotect
.ShowAllData
.Protect _
Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True
End With
End Sub
❹ 貼り付け そして 保存 VBA エディタのコード。
コードの内訳
- まず、With を適用しました ActiveSheet のステートメント 保護解除を使用 ロック解除するプロパティ
- 次に、ShowAllData を使用しました すべてを表示するプロパティ。
- 次に True を割り当てました 目次へ 、AllowFiltering 、および UserInterfaceOnly すべての保護を解除します。
❺ アクティブなワークシート に戻ります ALT + F11 を押します マクロを開く ダイアログ ボックス。
❻ マクロ RemoveAFwithoutPass を選択します。 実行をクリックします ボタン。
最後に、 オートフィルタ 一掃される すべてのデータが表示されます このように:
練習セクション
提供された Excel ファイルの最後に、次のスクリーンショットのような Excel シートが表示されます。この記事で説明したすべての方法を実践できる場所です。
結論
まとめると、 7 について説明しました。 オートフィルターが存在する場合はそれを削除する方法 エクセルでVBAを使っています。この記事に添付されている練習用ワークブックをダウンロードし、それを使用してすべての方法を練習することをお勧めします。以下のコメントセクションで質問をすることを躊躇しないでください.関連するすべてのクエリにできるだけ早く対応するよう努めます。そして、私たちのウェブサイト Exceldemy にアクセスしてください。
関連記事
- Excel で同じフィールドに複数の条件を指定して AutoFilter する VBA (4 つの方法)
- Excel で VBA を使用して特定の値と等しくない値をオートフィルター処理する方法
- VBA オートフィルター:最小から最大への並べ替え (3 つの方法)
- Excel VBA で表示されている行をオートフィルターしてコピーする方法
-
Excel で VBA を使用して特定の値と等しくない値をオートフィルターする方法
この記事では、VBA を使用して、特定の値と等しくない値を自動フィルター処理する方法を紹介します。 エクセルで。ワークシート全体だけでなく、選択した範囲のセルから値を自動フィルター処理する方法を学習します。 Excel の VBA で特定の値と等しくないオートフィルター値 (クイック ビュー) Sub Autofilter_Values_from_Whole_Worksheet() Source_Worksheet = "Sheet1" Destination_Worksheet = "Sheet2" Dim Filtered_Columns()
-
Excel で不明なリンクを削除する方法 (4 つの適切な例)
ある Excel ファイルの情報を別の Excel ファイルに使用することがあります。このようにして、Excel ファイルを相互にリンクします。 Excel ファイルに不明なリンクが存在する場合があります。この記事では、Excel でこれらの不明なリンクを削除する方法と、適切な図を使用して他の外部リンクを削除する方法について説明します。 Excel で不明なリンクを削除する 4 つの例 サンプル データセットでは、2 つの外部リンク Cell D5 があることがわかります とD9 .この記事では、これらの外部リンクを示してから削除する方法を示します。 1.セルから不明なリンクを削除