Excel VBA: Не работает макрос фильтрации по цвету при открытии общего доступа к книге

Автор gtz, 30 января 2018, 16:47

gtz

Имеется макрос который фильтрует значения в несольких столбцах по цвету - выбираются ячейки без цвета:
Спойлер
Private Sub CommandButton7_Click()
    ActiveSheet.Range("$A$2:$BM$883").AutoFilter Field:=12, Operator:=xlFilterNoFill
    ActiveSheet.Range("$A$2:$BM$883").AutoFilter Field:=13, Operator:=xlFilterNoFill
    ActiveSheet.Range("$A$2:$BM$883").AutoFilter Field:=18, Operator:=xlFilterNoFill
    ActiveWindow.SmallScroll Down:=-1800
End Sub
[свернуть]

Но при открытии общего доступа к книге (рецензирование - доступ к книге) при применении данного макроса происходит ошибка "метод autofilter из класса range завершен неверно"
При этом если общий доступ закрыт то макрос нормально функционирует.
В книге есть ещё другие макросы также фильтрующие столбцы, но они фильтруют по тексту, и при открытии общего доступа они функционируют нормально.
А этот макрос фильтрующий по цвету (по его отсутствию) в общем доступе не работает.

Какие могут причины и решения?

Администратор

А без макроса такая фильтрация работает во время общего доступа?

gtz

Страно, действительно при открытии общего доступа, фильтр на цвет пропадает из меню фильтра..
Как тогда быть?

Администратор

Макрос обычно способен делать то же, что и эксель. Если эксель не умеет, то предположим, что и VBA не умеет.
Конечно есть ситуации, когда макрос умеет делать что-то, что не умеет эксель, и наоборот.

Что делать? Не знаю. Просто нужно принять, что автофильтр в вашей задачи не работает.
Можно скрывать / отображать строки макросом. Но я про общий доступ ничего не знаю, поэтому не знаю, будет ли работать макрос.

Задача ведь фильтра: скрыть / отобразить строки.

gtz

Тогда поменяю фильтр на текстовый он работает в общем доступе.