鼠标选择并在另一个选项卡中过滤宏

时间:2018-07-16 06:01:06

标签: excel vba excel-vba

我想创建一个宏,在这里我可以使用鼠标在“容量”选项卡中选择一个名称,然后通过按热键Ctrl + Shift + Z,宏将激活并在“分配”选项卡中搜索此名称。名称过滤器

我对如何使用宏复制我选择的内容并将其粘贴到过滤条件上感到困惑

我已经尝试过了

   Sub Macro1()
    '
    ' Macro1 Macro
    ' Resource allocaiton breakdown
    '
    ' Keyboard Shortcut: Ctrl+Shift+Z
    '
            Selection.Copy
            Sheets("Allocation").Select
            ActiveSheet.Range("$A$9:$FL$529").AutoFilter Field:=6
            ActiveSheet.Range("$A$9:$FL$529").AutoFilter Field:=1
            ActiveSheet.Range("$A$9:$FL$529").AutoFilter Field:=6, Criteria1:="Target.Value"

End Sub

但是它不起作用,
我刚接触VBA
请指教

1 个答案:

答案 0 :(得分:0)

  1. 您应该avoid using Select in Excel VBA
  2. 您无法将单元格值“复制”到过滤条件中,而是通过将单元格值用作Criteria1
  3. 来将条件设置为该值

所以这样的事情应该起作用:

Option Explicit

Public Sub FilterForSelectedValue()
    Dim SelectedFilter As Range
    Set SelectedFilter = Selection

    Worksheets("Allocation").Range("$A$9:$FL$529").AutoFilter Field:=6, Criteria1:=SelectedFilter.Value

End Sub