3

Excel の列フィルターでマクロ関数をトリガーする方法はありますか??

助けてください

ありがとう。

4

1 に答える 1

11

この回答を投稿できるかどうかを考えていました。バイパスソリューションの提示による直接的な回答ではないため、気に入らない方もいらっしゃると思います。ただし、質問にすべてのプロジェクトの仮定があるわけではないので、その考えを示すことができると思います。

同意しましょう。フィルタリングを変更した後に発生するイベントがないことは誰もが知っています。ただし、1つのオプションがあります。

フィルターを変更するWorksheet_Calculateと、イベントが発生する可能性があります ( ではありませんWorksheet_Change)。シート内に単一の数式がある場合、マウスを使用してフィルター条件を変更するたびにそのイベントが発生します。

ステップ 1.セル ZZ1 のように、任意の単一の数式をシートに入力します。ここで =ZZ2

ステップ 2.データ範囲が Range(A1) で始まり、最初の行にタイトルがあると仮定します (図を参照)。また、その領域の下には何もないと思います。

ここに画像の説明を入力

ステップ 3.次のソリューションを Sheet1 モジュールに入れます。

Private Sub Worksheet_Calculate()

If ActiveSheet.Name = "Sheet1" Then
    If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
        MsgBox "No data available"
    Else
        MsgBox "There are filtering results"
    End If
End If
End Sub

ステップ 4.フィルターを使用すると、そのイベントが発生し、次のような状況になります。

ここに画像の説明を入力ここに画像の説明を入力

誰かがそれを気に入って使ってくれることを願っています。たとえそれが単なるバイパスのアイデアであっても。

于 2013-04-09T15:36:17.800 に答える