Royは、ワークシートの多くで、並べ替えとフィルタリングを幅広く使用しています。

リボンの[データ]タブの[並べ替えとフィルター]グループには、クリアツールがあります。このツールは、すべてのフィルタリングと並べ替えの設定をクリアします。 Royは定期的にフィルタリング設定をクリアする必要がありますが、ソート設定がクリアの影響を受けないようにしたいと考えています。彼は、このツールの動作を変更する方法、または1回のアクションでフィルタリング設定のみをクリアする方法があるかどうか疑問に思います。

これは研究にとって興味深い問題であり、少し突っ込んだり突っ込んだりする必要がありました。 Excelでは、データセットに適用するフィルターの並べ替え設定を定義できるようです。これが実際に動作することを確認するには、次の手順に従います。

。データが含まれているブックを開くか、並べ替えとフィルタリングが可能なデータが含まれているブックを作成します。

。データ内のセルを選択します。

。リボンの[データ]タブを表示します。

。 [並べ替えとフィルター]グループ内の[フィルター]ツールをクリックします。 Excelは、データの各列の上部にドロップダウン矢印を配置します。

。いずれかの列の上部にあるドロップダウン矢印をクリックします。

表示されるドロップダウンメニューでは、列でフィルタリングするデータを選択できることに注意してください。しかし、これは人々が通常見るのをやめる場所です。ドロップダウンメニューの上部にいくつかの並べ替えコントロールがあるのは興味深いことです。これらのコントロールを使用すると、Excelに表示されるフィルター処理された結果は、仕様に従ってフィルター処理されます。

この時点で(並べ替えを含むフィルターを適用した後)マクロレコーダーをオンにして、[クリア]ツールをクリックすると、Excelによって記録されるマクロは次のようになります。

Sub Macro1()

' ' Macro1 Macro '

'     ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear     ActiveSheet.ShowAllData End Sub

記録されたマクロには2行あることに注意してください。最初の行は並べ替え設定をクリアし、2行目はすべてのフィルタリング設定をクリアします。列の上部にあるドロップダウンフィルタリングメニューで並べ替え設定を最初に選択せずに同じ手順を記録した場合、Excelには最初の行が含まれません。

その結果、フィルタリングを削除し、フィルタリングドロップダウンで行った並べ替え設定を保持する独自の単一行マクロを簡単に作成できます。単純なマクロは次のようになります:

Sub ClearFilter()

ActiveSheet.ShowAllData End Sub

(フィルターツールをもう一度クリックして)フィルターをオフにすると、Excelは適用したフィルターと並べ替えの設定を自動的にクリアすることに注意してください。フィルタリングフレームワークの外部で並べ替え設定(特に複雑な並べ替え設定)を保持する場合は、データを並べ替えるために実行する手順のマクロを記録するのが最適です。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12254)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。