Excel 双击新工作表中的单元格显示过滤器时创建宏

Excel 双击新工作表中的单元格显示过滤器时创建宏,excel,vba,Excel,Vba,我有一个关于创建宏的问题,而场景如下: 表1 单击Sheet1中的任何单元格后,它将根据单元格A和B自动过滤 表2 根据双击图纸1自动显示筛选的条件 例如:当我双击C1时,Sheet2上的将自动显示基于A1和B1的过滤数据,如果我双击Sheet2上的C2,同样的事情将转到Sheet2上的将自动显示基于A1和B2的过滤数据 这里真的需要专家的帮助。这将是捕获单击事件所需的代码: Private Sub Worksheet_SelectionChange(ByVal Target As Range)

我有一个关于创建宏的问题,而场景如下:

表1 单击Sheet1中的任何单元格后,它将根据单元格A和B自动过滤

表2 根据双击图纸1自动显示筛选的条件

例如:当我双击C1时,Sheet2上的将自动显示基于A1和B1的过滤数据,如果我双击Sheet2上的C2,同样的事情将转到Sheet2上的将自动显示基于A1和B2的过滤数据


这里真的需要专家的帮助。

这将是捕获单击事件所需的代码:

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

这是捕获双击事件所需的代码:

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
我也会帮助您进行筛选,但由于您没有向其粘贴任何代码,而且我不知道您多么希望筛选哪些数据,我将把这留给您;)

编辑:

此代码可用于
工作表\u 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

这是捕获单击事件所需的代码:

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

这是捕获双击事件所需的代码:

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
我也会帮助您进行筛选,但由于您没有向其粘贴任何代码,而且我不知道您多么希望筛选哪些数据,我将把这留给您;)

编辑:

此代码可用于
工作表\u 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

它至少可以通过单击来完成。不确定是否双击,因为我假设双击完全是为输入单元格进行编辑而保留的。数据转换的屏幕截图或小文本示例或以前后方式筛选目标非常有助于理解您的目标;)它至少可以通过单击来完成。不确定是否双击,因为我假设双击完全是为输入单元格进行编辑而保留的。数据转换的屏幕截图或小文本示例或以前后方式筛选目标非常有助于理解您的目标;)好吧,我会成为一个狗娘养的!您好,再次感谢您的建议。确切地说,它是关于过滤的,文件的链接可以在这里找到,而它应该根据条件A1和B1在单击或双击时自动过滤到新的工作表中click@user1808404好的,为了任何对此可能有帮助的人,请发布一个真实的过滤示例并改进您的问题。如果你希望其他人来做你的工作,那么这并不难,至少你应该做。我编辑了我的答案,以包含一个基于一个单元格的基本过滤器。您应该能够将其应用于您的情况,如果没有,请提供有关您的筛选问题的更详细的描述。您好,请参阅您以前的。我真的不知道如何在VBA上执行此操作,但如果手动执行,当然我可以简单地将过滤器放在sheet2中,它需要参考sheet1,而不是手动过滤sheet2,我需要从下拉列表中进行选择。好吧,我会成为一个狗娘养的!您好,再次感谢您的建议。确切地说,它是关于过滤的,文件的链接可以在这里找到,而它应该根据条件A1和B1在单击或双击时自动过滤到新的工作表中click@user1808404好的,为了任何对此可能有帮助的人,请发布一个真实的过滤示例并改进您的问题。如果你希望其他人来做你的工作,那么这并不难,至少你应该做。我编辑了我的答案,以包含一个基于一个单元格的基本过滤器。您应该能够将其应用于您的情况,如果没有,请提供有关您的筛选问题的更详细的描述。您好,请参阅您以前的。我真的不知道如何在VBA上执行此操作,但如果手动执行,当然我可以简单地将过滤器放在sheet2中,它需要参考sheet1,而不是手动过滤sheet2,我需要从下拉列表中进行选择。