Страницы: 1
RSS
Алгоритм фильтрации таблиц по выбранному значению в выпадающем списке с блокировкой снятия фильтра пользователем
 
Добрый день!

Есть 4 листа, на каждом по 1 таблице. Фильтр по адресату в каждой таблице.
Нужно, чтобы при введении в клетку адресата на листе 5 все 4 таблицы фильтровались по этому адресату и снять эту фильтрацию он бы не смог, но смог заполнять другие поля этих таблиц (отфильтрованных по нему).

Как?
 
eva_girl, форум, несоблюдение правил, блокировка  :D

а вообще тема с нарушениями - название в смысле)
Не бойтесь совершенства. Вам его не достичь.
 
Перечитала правила - не вижу нарушений ? Где ?
 
Цитата
eva_girl написал:  не вижу нарушений ?
Цитата
Mershik написал: название в смысле)
Блоктирование фильтрации? выпадающего списка? фильтрации в выпадающе списке? по выпадающему списку? Пи фильтрации блокирование списка? ... и еще 5-6 возможных вариантов...
Цитата
2.1. Название темы должно отражать смысл проблемы.
 
Так пример же есть, разве по нему не понятно ?
 
Доброе время суток
Цитата
eva_girl написал:
Как?
1. В тех четырёх таблицах снимаете блокировку со строк полей, которые пользователь может заполнять.
2. Устанавливаете защиту листов.
3. Пишите макрос, который на событие изменения значения выбором в выпадающем списке на листе 5.
3.1 Временно снимает блокировку с очередного листа.
3.2 Выполняет фильтрацию по новому значению листа 5.
3.3 Восстанавливает блокировку.
Как-то так

Господа модераторы вариант названия
Каков будет алгоритм фильтрации таблиц по выбранному значению в выпадающем списке с блокировкой снятия фильтра пользователем?
Изменено: Андрей VG - 17.02.2020 09:09:57
 
Спасибо большое, а Вы можете написать ? *ена вопроса ? ( не знаю, можно ли здесь так спрашивать)
 
Цитата
eva_girl написал:
? *ена вопроса ? ( не знаю, можно ли здесь так спрашивать)
Попросите модераторов перенести тему в раздел "Работа". Там вы всегда найдёте высококвалифицированного специалиста, который быстро и качественно сделать необходимое для вас решение.
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "E7" Then
        Job_wb Target.Value
        MsgBox "Выбрано " & Target.Value, vbInformation
    End If
End Sub
'
Sub Job_wb(ByVal s As String)
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Sheets
        If sh.Name <> ActiveSheet.Name Then
            Job_sh sh, s
        End If
    Next
End Sub
'
Sub Job_sh(sh As Worksheet, ByVal s As String)
    With sh
        .Unprotect
        Dim y As Long
        y = 8
        Do
            If IsEmpty(.Cells(y, 3)) Then Exit Do
            .Cells(y, 4).Resize(1, 2).Locked = False
            .Rows(y).EntireRow.Hidden = (Trim(.Cells(y, 3).Value) <> s)
            y = y + 1
        Loop
        .Protect
    End With
End Sub
В модуль листа 5.
Пока тема в основной ветке, размещаю решение тут.
Изменено: МатросНаЗебре - 20.02.2020 14:15:36
 
Андрей VG, спасибо
 
МатросНаЗебре,спасибо большое))
вставляя файл на лист 5, я поняла что была слегка наивна))) самостоятельно вставить куда надо и сделать чтоб работало я не могу)))
мне нужен будет готовый продукт
напишите пож-та, если можете такое сделать "под ключ" с реальным файлом  - сколько по цене
Страницы: 1
Наверх