web-dev-qa-db-ja.com

Excelフィルターの自動更新

Excel2010を使用しています。

私は他の「自動更新」を見てきましたが、私が見たところ、自動更新を「更新」するためにいくつかの情報を入力してほしいと言われました。

私が持っているのは2つの別々のスプレッドシートで、フィルタリングされた見出しのあるテーブルと生データのあるシートがあります。テーブルには3つの列がありますが、物理的にデータを入力していません。他のスプレッドシートが更新されると、参照によって値が自動的にテーブルに配置されます。

たとえば、フィルタは「UK」に設定されていますが、機密保持の理由により、このスプレッドシートを使用するユーザーは作業スプレッドシートを表示できないため、参照が必要な場合に備えて、すべての値をそこに含める必要があります。

フィルタリングを解除して再フィルタリングするよりも、私の生活が少し楽になります。

2
David Sosnowski

Filter-> Reapplyコマンドはあなたが望むことをしませんか?基になるデータが更新されるたびにこのコマンドを実行する小さなVBAルーチンを作成できる可能性があります。

2
benshepherd

10分ごとにアクションを繰り返すには:

ワークブックを最初に開いたときに、次のコードを実行します。

alertTime = Now + TimeValue("00:10:00")
Application.OnTime alertTime, "MyMacro"

次に、それを繰り返す「MyMacro」というマクロをブックに入れます。

Public Sub EventMacro()
    ActiveSheet.AutoFilter.ApplyFilter ' adjust to point to your filter
    alertTime = Now + TimeValue("00:10:00")
    Application.OnTime alertTime, "EventMacro"
End Sub
1
SeanC

次のコードをデータとともにワークシートに貼り付け、自動フィルターを使用して「Sheet1」をシート名に更新します。

Private Sub Worksheet_Change(ByVal Target As Range)

    Sheets("Sheet1").AutoFilter.ApplyFilter 'update "Sheet1" to the name of your sheet with auto-filter

End Sub
0
Petr Fedorov