Посмотрите плиз, у меня почему-то не выполняется сравнение.
В общем смысл задачи: 1.Макрос запускается автоматом при открытии документа. При выборе значения в фильтре в колонке один макрос берет значение фильтра и сравнивает со значением в строке 2 в колонках с 4 по 9. после оставляет чего скрывает колонки с 4 по 9 во второй строке которых значение не совпадает со значением фильтра. При изменеиии фильтра, колонки снова отображаются все и скрываются уже колонки в которых во второй строке не совпадает значение новой выборки из фильтра и так до тех пор, пока открыт файл.
С уважением, Михаил.
[vba]
Код
Sub Фильтр() If ThisWorkbook.Worksheets(1).AutoFilter.Filters(1).On Then filter_string = ThisWorkbook.Worksheets(1).AutoFilter.Filters(1).Criteria1
For i = 4 To 9 If Cells(2, i) = filter_string Then Columns(i).EntireColumn.Hidden = False Else Columns(i).EntireColumn.Hidden = True End If Next End If End Sub
[/vba]
Посмотрите плиз, у меня почему-то не выполняется сравнение.
В общем смысл задачи: 1.Макрос запускается автоматом при открытии документа. При выборе значения в фильтре в колонке один макрос берет значение фильтра и сравнивает со значением в строке 2 в колонках с 4 по 9. после оставляет чего скрывает колонки с 4 по 9 во второй строке которых значение не совпадает со значением фильтра. При изменеиии фильтра, колонки снова отображаются все и скрываются уже колонки в которых во второй строке не совпадает значение новой выборки из фильтра и так до тех пор, пока открыт файл.
С уважением, Михаил.
[vba]
Код
Sub Фильтр() If ThisWorkbook.Worksheets(1).AutoFilter.Filters(1).On Then filter_string = ThisWorkbook.Worksheets(1).AutoFilter.Filters(1).Criteria1
For i = 4 To 9 If Cells(2, i) = filter_string Then Columns(i).EntireColumn.Hidden = False Else Columns(i).EntireColumn.Hidden = True End If Next End If End Sub
Как понял: После фильтрации по первому столбцу нужно сравнить значение первого столбца (критерий фильтра) и значения 4-9 столбцов. При несовпадении столбец 4-9 скрыть. Сравнивать только во второй строке. Первая, надо понимать - шапка таблицы.
Пишите в личку.
Как понял: После фильтрации по первому столбцу нужно сравнить значение первого столбца (критерий фильтра) и значения 4-9 столбцов. При несовпадении столбец 4-9 скрыть. Сравнивать только во второй строке. Первая, надо понимать - шапка таблицы.