Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

エラー メッセージ AutoFilter method of Range Class Failed の考えられる原因と解決策を見つけるのに苦労している場合 この記事はあなたのためのものです。それでは、本編に入りましょう。

ワークブックをダウンロード

Range Class Failed の問題の Autofilter メソッドに対する 5 つの修正

ここでは、5 を表示します 次のデータセットを範囲として使用して、オートフィルター機能を適用して基準に基づいて範囲をフィルター処理するソリューションを使用します。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

Microsoft Excel 365 を使用しています 必要に応じて他のバージョンを使用できます。

修正-1 :フィールド番号を修正して範囲クラスの AutoFilter メソッドが失敗する問題を解決する

ここでは、 2500 を超える売上値に基づいて、次の範囲をフィルタリングしようとします。 VBA の助けを借りて コード。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

範囲をフィルタリングするために、次のコードを使用しました

Sub fixing_autofilter_issue_1()

Dim sht As Worksheet
Set sht = Worksheets("Field Number")
sht.Range("B3:D3").AutoFilter field:=100, Criteria1:=">=2500"

End Sub

ここでは、フィールド: 100 に割り当てた範囲の列番号を示すためのものです 3 以下です この範囲の列。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押した後 Range クラスの AutoFilter メソッドが失敗しましたというエラー メッセージが表示されます .

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

➤ この問題を解決するには、範囲の列番号に対応する正しいフィールド番号を使用します (ここでは 3 を使用しています) 販売のシリアル番号であるため 範囲の列)。

Sub fixing_autofilter_issue_1()

Dim sht As Worksheet
Set sht = Worksheets("Field Number")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押します .
これで、エラー メッセージを表示することなく、基準に従って範囲をフィルター処理できるようになります。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

続きを読む: オートフィルターがオンになっているかどうかを確認する Excel VBA (4 つの簡単な方法)

Fix-2 :範囲クラスの AutoFilter メソッドを解決するための正しい範囲の使用に失敗した問題

Sales に基づいて、次のデータセットにフィルタを適用してみます。 $2,500.00 より大きい値の列 .

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

Range の範囲をフィルタリングするために、次のコードを使用しました。

Sub fixing_autofilter_issue_2()

Dim sht As Worksheet
Set sht = Worksheets("Range")
sht.Range("D3:D100").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

ここで、範囲 D3:D100 を使用したことがわかります。 フィールド番号 3 であり、この範囲には 1 つの列しか含まれていないため、これらの値は互いに一致しません。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押した後 エラー メッセージが再度表示されます。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

➤ コードを次のように修正

Sub fixing_autofilter_issue_2()

Dim sht As Worksheet
Set sht = Worksheets("Range")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

範囲を B3:D3 に変更しました

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押します .
その後、エラー メッセージを表示することなく、条件に従って範囲をフィルター処理できます。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

Fix-3 :テーブルのフィルタリングにより、Range クラスの AutoFilter メソッドが失敗しました

ここに、次のテーブルがあります Sales に基づいてこのテーブルをフィルタリングするコードを使用して、フィルタ オプションを適用しようとします。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

この目的のために、次のコードを使用しました

Sub fixing_autofilter_issue_3()

Dim sht As Worksheet
Set sht = Worksheets("Table")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

このコードではすべて問題ないようです。確認しましょう。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

しかし F5 を押した後 、エラー メッセージが表示されます。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

この問題を解決するには、このテーブルを範囲に変換する必要があります。
➤ テーブルを選択して テーブル デザイン に移動します タブ>> ツール グループ>> 範囲に変換 オプション。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

次に、変換を確認するためのメッセージ ボックスが表示されます。
はいを押します

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

その後、作成したテーブルから範囲を取得します。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

➤ では、前のコードをもう一度適用してみましょう。

Sub fixing_autofilter_issue_3()

Dim sht As Worksheet
Set sht = Worksheets("Table")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押します .
ご覧のとおり、今回は AutoFilter メソッド

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

Fix-4 :ピボット テーブルのフィルタリングが原因で、Range クラスの AutoFilter メソッドが失敗しました

ここに、次のピボット テーブルがあります。 AutoFilter メソッドの適用に基づいて、2 番目の列に売上値があります。 .

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

そこで、次のコードを適用しました。

Sub fixing_autofilter_issue_4()

Dim sht As Worksheet
Set sht = Worksheets("Pivot")
sht.Range("A3:B3").AutoFilter field:=2, Criteria1:=">=2500"

End Sub

ここでは、フィールド番号 2 範囲 A3:B3 の 2 列目です .

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押した後 、エラー メッセージ Range クラスの AutoFilter メソッドが失敗しました が表示されます .

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

この問題を解決するには、この AutoFilter メソッド を適用します。 ピボット テーブルのソース範囲に。
ご覧のとおり、このテーブルのソース範囲は ソース にあります。 シートにコードを適用します。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

➤ このソース範囲に次のコードを適用します。

Sub fixing_autofilter_issue_4_1()

Dim sht As Worksheet
Set sht = Worksheets("Source")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押します .
最終的に、指定された 売上 の基準に基づいて、範囲を絞り込むことができます。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

Fix-5 :ヘッダーの代わりに範囲全体を使用することによる問題

このセクションでは、Range クラスの AutoFilter メソッドが失敗しましたというエラー メッセージがほとんど表示されない軽微な問題について説明します。 .ただし、このエラーの原因になる可能性があるという事実に気付くことができます。
前の例と同様に、 AutoFilter メソッド を適用します。 次の範囲に。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

フィルターを適用するために次のコードを使用しました。

Sub fixing_autofilter_issue_5()

Dim sht As Worksheet
Set sht = Worksheets("Header")
sht.Range("B3:D11").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

ここでは、範囲 B3:D11 を使用しています。 不要なデータセット全体に対して、時にはそれが大きな範囲のエラーメッセージの原因になることがあります.

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

したがって、ヘッダーのみを範囲として使用することで、そのコードを次のコードに変更できます。

Sub fixing_autofilter_issue_5()

Dim sht As Worksheet
Set sht = Worksheets("Header")
sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500"

End Sub

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

F5 を押した後 、問題に直面することなく、目的の結果が得られます。

[修正]:Range クラスの AutoFilter メソッドが失敗する (5 つの解決策)

結論

この記事では、Range Class Failed の AutoFilter メソッドの可能な修正をカバーしようとしました。 エクセルの問題。役に立つことを願っています。提案や質問がある場合は、コメント セクションで自由に共有してください。

関連記事

  • Excel VBA で表示されている行をオートフィルターしてコピーする方法
  • VBA オートフィルター:最小から最大への並べ替え (3 つの方法)
  • Excel で VBA を使用して特定の値と等しくない値をオートフィルター処理する方法
  • Excel VBA:オートフィルターが存在する場合は削除する (7 つの例)

  1. [修正]VJoyのインストールに失敗しました

    失敗する可能性があります VJoyをインストールする 主に、ドライバーの署名が正しく適用されていないことが原因です。さらに、WindowsまたはVJoyの破損したインストールも、検討中のエラーを引き起こす可能性があります。一部のユーザーは、アプリケーションの更新中にも問題に直面しました。この問題は、WindowsXP以降のほぼすべてのバージョンのWindowsで発生することが報告されています。 トラブルシューティングプロセスに進む前に、ローカルディスクからインストールすることを確認してください。 (USBや外付けディスクではありません)。さらに、ゲームコントローラーを切断します (ジョイス

  2. [FIX]VKEnumeratePhysicalDevicesが失敗しました

    一部のWindowsユーザーは、 VKEnumeratePhysicalDevices Failed with Error(VK_Error_Initialization_Failed)に遭遇しています。 VulkanコンピューティングAPIテクノロジーを積極的に使用している特定のゲームを起動しようとすると致命的なエラーが発生します。ほとんどの文書化されたケースでは、このエラーはWolfensteinタイトルとDoomタイトル(通常はBethesdaによってリリースされたゲーム)で発生することが報告されています。 このエラーが発生した場合は、GPUがVulkanをサポートできることを確認す