0

マクロの作成に関して質問がありますが、シナリオは次のとおりです。

Sheet1 Sheet1 の任意のセルをクリックすると、セル A と B に基づいて自動的にフィルター処理されます。

Sheet2 Sheet1 からのダブルクリックに基づいて、フィルタリングされた条件を自動的に表示します

たとえば、C1 をダブルクリックすると、Sheet2 で A1 と B1 に基づいてフィルター処理されたデータが自動的に表示され、Sheet2 で C2 をダブルクリックすると、A1 と B2 に基づいてフィルター処理されたデータが自動的に表示されます。

ここでは専門家の助けが本当に必要です。

4

1 に答える 1

3

これは、シングルクリックイベントをキャッチするために必要なコードになります。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Debug.Print Target.Address
End Sub

これは、ダブルクリックイベントをキャッチするために必要なコードになります。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Debug.Print Target.Address
  'cancel the double click, prohibiting editng of cell per double-click
  Cancel = true
End Sub

私もあなたのフィルタリングを手伝っていただろうが、あなたはそれにコードを貼り付けておらず、どのデータをどのようにフィルタリングしたいか正確にわからないので、それはあなたに任せます;)

編集:

このコードはWorksheet_SelectionChange、使用範囲内の有効な選択に基づいてフィルターを設定するために使用できます。フィルタがすでに配置されている場合は、無効になります。

  On Error Resume Next
  If Sheet1.AutoFilterMode Then
    'clear existing autofilter
    Sheet1.UsedRange.AutoFilter
  Else
    'setup filter based on selection
    Sheet1.UsedRange.AutoFilter field:=Target.Column, _
                                Operator:=xlFilterValues, _
                                Criteria1:=Target.Value, _
                                VisibleDropDown:=True
  End If
于 2012-11-08T08:39:53.453 に答える