この記事では、セルの選択に基づいてデータをフィルタリングする方法を学習します。

以下の手順に従う必要があります:

[開発者]タブをクリックします。[コード]グループから、[VisualBasic]を選択します

img1

現在のワークシート(この例では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

サブの終了

img2

注:上記のコードのヘッダーは、範囲A1:D1の名前付き範囲を表します。[名前]ボックスで範囲A1:D1を選択してヘッダーを入力するか、[数式]タブで[定義済みの名前]を使用できます

img3

BeforeDoubleClick *イベントは、ユーザーがいずれかのセルをダブルクリックするたびにトリガーを取得し、検索のフィルターを変更します。

  • 製品Cでデータをフィルタリングする場合は、セルD4をダブルクリックして検索をフィルタリングできます。

img4

列Cと製品KFCWWで検索を絞り込みたい場合は、セルC4をダブルクリックしてデータを絞り込みます。

img5

SelectionChange *イベントは、ユーザーがセルを選択するたびにアクティブになり、色が白から黄色に変わります。アクティブセルが空の場合、コードは実行されません。

  • セルB3をクリックすると、行が黄色で強調表示されます。以下のスナップショットを参照してください

img6

ここでは、数式バーに選択したセル、つまりセルB3が表示されます。このようにして、シングルクリックで行を強調表示し、VBAコードを使用してセルの選択に基づいてデータをフィルタリングできます。