Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 25.02.2020, 12:21   #1
Вячеслав_Цой
Новичок
Джуниор
 
Регистрация: 25.02.2020
Сообщений: 1
По умолчанию Изменение диапазона защищенного листа после ввода данных в этот диапазон

дравствуйте!
Хочу создать файл в общем доступе для 2-х сотрудников в Excel 2013. Защитить лист и дать каждому из них доступ на изменение определенных диапазонов. К примеру Иванов - может вводить данные в диапазон A1:A100, а Петров - в B1:B100 - изначально все ячейки в этих диапазонах будут пустые.
Нужен такой макрос - чтобы после ввода данных в ячейку любым пользователем в допустимом ему диапазоне (например Иванов внес данные в ячейку A5) эта ячейка автоматически исключалась из разрешенного для изменения диапазона. Т.е. чтобы пользователь мог только один раз внести информацию в ячейку, а потом ее самостоятельно не мог отредактировать (без помощи админа файла).
Буду признателен за помощь! Спасибо!
Вячеслав_Цой вне форума Ответить с цитированием
Старый 25.02.2020, 23:44   #2
Elixi
Пользователь
 
Регистрация: 10.05.2019
Сообщений: 61
По умолчанию

У Иванова и Петрова нет права на ошибку?
С подобными вещами я никогда не игрался,
сделал бы как то так:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)

    Set Zapr = Range("A3:B3, C4:D4, E4, G4")
    If Intersect(Target, Zapr) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    Application.EnableEvents = False
        ActiveSheet.Unprotect Password:="Password"
        Cells.Select
        Selection.Locked = False
        For Each Item In Zapr
            If Range(Item.Address) <> "" Then
                Range(Item.Address).Select
                Selection.Locked = True
            End If
        Next Item
        ActiveSheet.Protect Password:="Password", DrawingObjects:=True, Contents:=True, Scenarios:=True
        Range(Target.Address).Offset(1, 0).Select
    Application.EnableEvents = True

End Sub
Elixi вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение диапазона данных точечной диаграммы через переменные VBA ymnuhj Microsoft Office Excel 3 05.05.2016 19:59
Копирование диапазона данных с одного листа на другой Аня Басова Microsoft Office Excel 9 04.02.2014 14:17
Запрет ввода данных в ячейки листа. Randy.Mandy Microsoft Office Excel 2 29.12.2011 12:27
Как сделать вывод данных после всего ввода данных. Donatello Общие вопросы C/C++ 6 16.01.2011 17:32
Нужен Макрос для ввода данных в перую пустую ячейку диапазона valik65 Microsoft Office Excel 4 16.12.2010 17:01


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS