VBA将单列过滤器复制到同一工作表中的另一列

时间:2018-10-03 16:18:24

标签: vba autofilter

我想将F列移动到工作表中的S列(对列进行重新排序),并保留F列的过滤器。我可以将F列的值复制/粘贴或移动到S列中,但是我看不到继承过滤器的方法。 .AutoFilter方法可能是我唯一的选择,但是当应用于没有过滤器的新列时,似乎很难使用。

我完全采用错误的方法吗?

是否没有简单的方法来获取某一列的过滤器信息并将其应用于当前没有过滤器的新列?您必须先激活新列的过滤器吗?如果是这样,是否需要保存所有列过滤器信息,关闭.AutoFilterMode,将其重新打开,然后在扩展范围以包括新列的同时重新应用所有过滤器?

我什至无法重置自动过滤器(导致400错误):

Sub extend_autofilter()

Dim ws As Worksheet
Set ws = ActiveSheet

If ws.AutoFilterMode = True Then

    With ws
        .Range("B2:S20").AutoFilter
        .Range("B2:S20").AutoFilter
    End With
Else
    With ws
        .Range("B2:S20").AutoFilter
    End With
End If End Sub

0 个答案:

没有答案