我需要创建一个宏来制作过滤器,从第二行复制该过滤器的结果并将其粘贴到另一张纸中。我已经尝试了所有方法(offset、usedrange、sendkeys),但没有任何效果。我需要它是可变的,因为每当我用新信息更新基础时,范围位置都会改变。这是我尝试的最后一个代码:
ActiveSheet.ShowAllData
ActiveSheet.Range("$A$1:$U$419655").AutoFilter Field:=18, Criteria1:="1"
ActiveSheet.UsedRange.Offset(1, 0).Select
Selection.Copy
Sheets("HEX Acima").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks \_
:=False, Transpose:=False```
Option Explicit
Sub CopyAfterFilter()
Dim visRng As Range
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.FilterMode Then
ActiveSheet.ShowAllData
End If
End If
With ActiveSheet.Range("A1").CurrentRegion
If .Columns.Count < 18 Then Exit Sub
.AutoFilter Field:=18, Criteria1:="1"
Set visRng = .Resize(.Rows.Count - 1).Offset(1, 0)
If Not visRng Is Nothing Then
visRng.Copy
Sheets(2).Range("A2").PasteSpecial Paste:=xlPasteValues
End If
End With
End Sub