VBA скопировать фильтр одного столбца в другой столбец на том же листе - PullRequest
0 голосов
/ 03 октября 2018

Я хочу переместить Столбец 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
...