VBAなしでは不可能です。http://office.microsoft.com/en-us/excel-help/enable-autofilter-functionality-for-a-protected-worksheet-HA001098270.aspxを参照してください
デフォルトでは、スプレッドシートの一部またはすべてを保護すると、Excelのオートフィルター機能は使用できなくなります。Microsoft Office Excel2003またはExcel2002を使用している場合は、その機能を手動で復元できます。Excel 2000を使用する場合は、数行のMicrosoftVisualBasic®forApplications(VBA)コードを使用する必要があります。
VBAコードを使用してワークシートを保護し、Excel2000のオートフィルター機能を有効にします
ここに示すサンプルコードは、ワークシート(ワークブックではない)を保護し、そのワークシートのオートフィルター機能を有効にします。このコードはExcel2000でのみ機能します。この特定のサンプルは、保護されたワークシートを含むブックを開くと自動的に実行されます。コードには、ワークシートの保護を解除するために使用するパスワードも含まれています。
まだ行っていない場合は、Excel 2000を起動し、目的のブックを開いて、保護するワークシートの名前をメモします。[ツール]メニューで、[マクロ]をポイントし、[VisualBasicEditor]をクリックします。
プロジェクトエクスプローラーで、ThisWorkbookをダブルクリックします。
新しい空白のコードモジュールがコードウィンドウに開きます。
次のサンプルコードをコピーして、コードウィンドウに貼り付けます。
Private Sub Workbook_Open()
Sheet1.Protect password:="test", DrawingObjects:=True, _
contents:=True, Scenarios:=True, _
userinterfaceonly:=True
Sheet1.EnableAutoFilter = True End Sub