我有一个excel表。我想复制其中一个,在同一列中的表标题处,并粘贴粘贴复制的内容以应用过滤器。我记录了一个如下所示的宏。
[每次运行宏时,它都会将过滤器应用于我在记录宏时使用的单元格“ EVER ELECTRONICS PRIVATE LIMITED”。我希望这可以更改我的活动单元所在的位置。请求帮助。
Sub Filter()
'
' Filter Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
Selection.Copy
Selection.End(xlUp).Select
ActiveSheet.Range("$A$1:$Z$81").AutoFilter Field:=3, Criteria1:= _
"=*EVER ELECTRONICS PRIVATE LIMITED*", Operator:=xlAnd
ActiveWindow.SmallScroll Down:=-15
End Sub
您可能是说类似的东西
Sub Filter()
With Selection
.Copy
.End(xlUp).Select
End with
ActiveSheet.Range("A1:Z81").AutoFilter Field:=3, Criteria1:="=*" & ActiveCell.Value & "*", Operator:=xlAnd
End Sub
但是请注意,此过滤器固定在Range("A1:Z81")
范围内,如果添加数据,它不会动态扩展到该数据。因此,您需要确定最后使用的行LastRow
,并使用它来使范围动态化。
Sub Filter()
With Selection
.Copy
.End(xlUp).Select
End With
With ActiveSheet
Dim LastRow As Long
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("A1:Z" & LastRow).AutoFilter Field:=3, Criteria1:="=*" & ActiveCell.Value & "*", Operator:=xlAnd
End With
End Sub