Новые информационные технологии и программное обеспечение
  RSS    


Excel: как запретить изменение данных в файле за прошедшие даты

При работе с файлами Excel, особенно находящимися в общем доступе и редактируемыми несколькими пользователями, возникает проблема защиты данных от изменения за прошедшие даты. Инструменты Excel не предусматривают такой возможности, как защита ячеек относительно даты. В этом случае поможет макрос. 

КОД:

Dim val, flag, f_val, f_row, f_column As Variant

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

 

    Application.EnableEvents = False

     

    Set reg_date = CreateObject("VBScript.RegExp")

    reg_date.Pattern = "\d\d\.\d\d\.\d\d\d\d"

    flag = reg_date.Test(f_val)

     

    If (f_val < Str(Date)) And (Cells(f_row, f_column).FormulaLocal <> val) And (flag = True) Then

        Cells(f_row, f_column).Value = val

        MsgBox ("Редактирование запрещено.")

    End If

     

    Application.EnableEvents = True

     

End Sub

 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

 

    val = ActiveCell.Text

    f_row = ActiveCell.Row

    f_column = ActiveCell.Column

    f_val = Cells(f_row, 1).Text

     

End Sub

 

Чтобы воспользоваться макросом, необходимо открыть нужный файл. Затем щелкнуть по названию листа правой кнопки мышки и нажать Посмотреть код (или Исходный текст). 

e1

Откроется окно VBA для вставки макроса. Выберите в левом поле Эта книга. Вставьте в белое поле скопированный код.

e2

 

Затем файл сохраните, нажав на кнопку Сохранить тут же, в окне VBA. 

E3

Лучше при сохранении выбрать тип файла С поддержкой макросов

E4

 

Теперь проверьте, попытайтесь изменить что-либо в ячейках, относящихся к прошедшей дате.

Поделиться:

 

 

Оставьте свой комментарий!

Комментарии  

 
0 # Елена 06.02.2018 21:04
А как сделать тоже самое только привязку к столбцам, а не строкам?
Ответить
 

Добавить комментарий


 

Самое читаемое:

Быстрый поиск

Подписаться в соцсетях

вКонтакте · Twitter · Facebook · Telegram

Инструкции к программам

Инструкции к программам

Сайт "Новые Информационные Технологии" содержит лишь справочные данные из открытых источников. Мы НЕ Рекламируем и НЕ Рекомендуем покупать или использовать ВСЕ упомянутые на сайте программы, оборудование и технологии