VBAでMicrosoft Excelを使用してセルのデータに基づくオンザ選択をフィルタリングする方法
この記事では、セルの選択に基づいてデータをフィルタリングする方法を学習します。
以下の手順に従う必要があります:
[開発者]タブをクリックします。[コード]グループから、[VisualBasic]を選択します
現在のワークシート(この例ではsheet1)に次のコードを入力します
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)
Dim xcolumn As Integer
Dim xvalue As String
xcolumn = ActiveCell.Column
xvalue = ActiveCell.Value
Application.Intersect(ActiveCell、[headers])が何もない場合
If ActiveCell.Value <> “” Then
ActiveSheet.Range( “A:d”)。AutoFilter Field:= xcolumn、Criteria1:= xvalue
キャンセル= True
終了If
終了If
サブの終了
===
===
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rownumber As Integer
行番号= ActiveCell.Row
Application.Intersect(ActiveCell、[headers])が何もない場合
If ActiveCell.Value <> “” Then
Range( “A1:D13″)。Interior.ColorIndex = xlNone
Range( “A”&rownumber& “:D”&rownumber).Interior.ColorIndex = 6
終了If
終了If
サブの終了
注:上記のコードのヘッダーは、範囲A1:D1の名前付き範囲を表します。[名前]ボックスで範囲A1:D1を選択してヘッダーを入力するか、[数式]タブで[定義済みの名前]を使用できます
BeforeDoubleClick *イベントは、ユーザーがいずれかのセルをダブルクリックするたびにトリガーを取得し、検索のフィルターを変更します。
-
製品Cでデータをフィルタリングする場合は、セルD4をダブルクリックして検索をフィルタリングできます。
列Cと製品KFCWWで検索を絞り込みたい場合は、セルC4をダブルクリックしてデータを絞り込みます。
SelectionChange *イベントは、ユーザーがセルを選択するたびにアクティブになり、色が白から黄色に変わります。アクティブセルが空の場合、コードは実行されません。
-
セルB3をクリックすると、行が黄色で強調表示されます。以下のスナップショットを参照してください
ここでは、数式バーに選択したセル、つまりセルB3が表示されます。このようにして、シングルクリックで行を強調表示し、VBAコードを使用してセルの選択に基づいてデータをフィルタリングできます。