web-dev-qa-db-ja.com

VBAフィルター解除範囲

私はこのコードを使用しています:

Sheets("Sheet1").AutofilterMode = False

vBAを使用してExcelシートのデータのフィルターを解除します(要点はすべてのフィルターをクリアすることです)。これは常に機能するとは限りませんが、より良い方法はありますか?

ありがとうございました!

役立つ場合は、このテーブルはSQL Serverからリンクされ([データ]-> [他のソースから]-> [SQL Serverから...])、色付きのデザインレイアウト(テーブル固有)があります。

6
Sam

代わりにWorksheets("Sheet1").ShowAllDataを使用してください。 http://msdn.Microsoft.com/en-us/library/office/bb178108%28v=office.12%29.aspx を参照してください。

16
A. Webb

ShowAllDataは、シートにフィルターがある場合にのみ機能します。それ以外の場合は壊れます。これからOn Error Resume Nextを使用して関数を作成でき、すべての場合に機能するはずです。

Sub ShowAllData()
On Error Resume Next
Worksheets("Sheet1").ShowAllData

End Sub

次に、メインサブから関数を呼び出します。

Sub Main()

ShowAllData

End Sub
2
user9051866