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 回答