I want to stop others from editing the cell contents in my excel sheet using VBA. Is it possible to do this?
armstrhb
4,0243 gold badges20 silver badges28 bronze badges
asked Jun 14, 2010 at 13:05
1
You can first choose which cells you don’t want to be protected (to be user-editable) by setting the Locked status of them to False:
Worksheets("Sheet1").Range("B2:C3").Locked = False
Then, you can protect the sheet, and all the other cells will be protected.
The code to do this, and still allow your VBA code to modify the cells is:
Worksheets("Sheet1").Protect UserInterfaceOnly:=True
or
Call Worksheets("Sheet1").Protect(UserInterfaceOnly:=True)
answered Jun 14, 2010 at 17:31
Lance RobertsLance Roberts
22.2k32 gold badges112 silver badges129 bronze badges
5
Try using the Worksheet.Protect
method, like so:
Sub ProtectActiveSheet()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True, Password="SamplePassword"
End Sub
You should, however, be concerned about including the password in your VBA code. You don’t necessarily need a password if you’re only trying to put up a simple barrier that keeps a user from making small mistakes like deleting formulas, etc.
Also, if you want to see how to do certain things in VBA in Excel, try recording a Macro and looking at the code it generates. That’s a good way to get started in VBA.
answered Jun 14, 2010 at 13:54
Ben McCormackBen McCormack
31.8k46 gold badges145 silver badges221 bronze badges
Let’s say for example in one case, if you want to locked cells from range A1 to I50 then below is the code:
Worksheets("Enter your sheet name").Range("A1:I50").Locked = True
ActiveSheet.Protect Password:="Enter your Password"
In another case if you already have a protected sheet then follow below code:
ActiveSheet.Unprotect Password:="Enter your Password"
Worksheets("Enter your sheet name").Range("A1:I50").Locked = True
ActiveSheet.Protect Password:="Enter your Password"
answered Sep 18, 2013 at 9:40
Milan ShethMilan Sheth
84412 silver badges10 bronze badges
You can also do it on the worksheet level captured in the worksheet’s change event. If that suites your needs better. Allows for dynamic locking based on values, criteria, ect…
Private Sub Worksheet_Change(ByVal Target As Range)
'set your criteria here
If Target.Column = 1 Then
'must disable events if you change the sheet as it will
'continually trigger the change event
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "You cannot do that!"
End If
End Sub
answered Jun 15, 2010 at 15:28
FinkFink
3,31619 silver badges26 bronze badges
Sub LockCells()
Range("A1:A1").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= False, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
End Sub
answered Jun 14, 2010 at 21:41
Владимир С Пользователь Сообщений: 50 |
Добрый день. Прошу помощи в реализации запрета на изменения данных в в ячейке или диапазоне ячеек. Данный запрет должен быть реализован только макросом. Стандартные методы не подходят. |
Пытливый Пользователь Сообщений: 4587 |
Добрый. Кому решение нужно — тот пример и рисует. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#3 17.12.2015 13:39:11
вот с этого момента поподробнее. А если я отключу работу макросов — что делать будете? Просто странное желание: не защитить нормально, а именно макросом. Поэтому хочется услышать цель, а не хотелку.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||||
Владимир С Пользователь Сообщений: 50 |
Есть определенный функционал(надстройка) который выполняет определенный действия ссылаясь на выделенную ячейку, запрещать стандартным способом изменения можно, но тогда остается возможность пользователю копировать все данные с листа, а это должно быть запрещено. Когда стоит запрет на выделение заблокированы ячеек тогда функционал не может работать так как не видит выделенные для него ячейки. |
Владимир С Пользователь Сообщений: 50 |
#5 17.12.2015 13:53:15
Стоит двойная защита листа для пользователя, как макросом, макросы работаю но лист остается защищен и ручная защита стандартным способом. Если отключить работу макросов тогда пользователь ничего не сделает что от него требуется. Изменено: Владимир С — 17.12.2015 14:19:19 |
||
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#6 17.12.2015 14:06:53
так цель запретить копировать данные?
? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||||
Владимир С Пользователь Сообщений: 50 |
#7 17.12.2015 14:07:00
Код супер но он запрещает изменение все ячеек, а как указать диапазон который нужно запретить? |
||
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#8 17.12.2015 14:09:20
вставить перед With Application Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Владимир С Пользователь Сообщений: 50 |
|
Владимир С Пользователь Сообщений: 50 |
#10 17.12.2015 14:18:39
Да, этот способ проще для реализации защиты от копирования, а также защита от изменений. |
||
0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
|
1 |
|
Макрос запрещающий редактирование текста в ячейке выделенной определенным цветом22.07.2015, 00:08. Показов 11711. Ответов 34
Добрый вечер .
0 |
chumich 2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
||||||
22.07.2015, 03:24 |
2 |
|||||
Реально ли такое сделать? Можно, например, так:
Попробуйте что-нибудь ввести в файле, который находится во вложении, в ячейки, выделенные красным цветом Вложения
2 |
15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
22.07.2015, 09:03 |
3 |
esboy21, насколько устойчивой должна быть защита и почему Вы не хотите использовать штатные средства? Макросом можно включить защиту ячеек по цвету. Способ chumich можно обойти путем копирования-вставки.
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
22.07.2015, 09:34 |
4 |
Способ chumich можно обойти путем копирования-вставки. Разве? А я думал, чтобы что-то вставить в ячейку, ее нужно сначала выделить Казанский, можете продемонстрировать на приложенном файле? А то у меня не получается
0 |
15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
22.07.2015, 09:50 |
5 |
chumich, пожалуйста: в I2 пишем что-то, выделяем I1:I2, копируем, выделяем F3, вставляем.
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
22.07.2015, 10:20 |
6 |
выделяем F3 Казанский, поверите или нет, но у меня не вставляется . Как только я выделяю F3 — вылезает сообщение и, при нажатии ОК, выделение уходит на А1. Вы каким образом выделяете?
0 |
chumich 2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
||||||
22.07.2015, 10:54 |
7 |
|||||
Ни в коем случае не отказываясь от предыдущего решения, потому что так и не получил подтверждения того, что оно не работает , сделал вариант с использованием стандартных средств (предварительно нужно снять блокировку ячеек со всего листа):
Вложения
2 |
15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
22.07.2015, 13:40 |
8 |
поверите или нет, но у меня не вставляется . Как только я выделяю F3 — вылезает сообщение и, при нажатии ОК, выделение уходит на А1. Вы каким образом выделяете? Почему? F3 — не красная. Выделяю как угодно — мышью, стрелками, вводя F3 в поле Имя или в Ctrl+G — ссылка.
1 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
22.07.2015, 14:15 |
9 |
F3 — не красная Понял . С F4 перепутал. Но, в таком случае и стандартная защита, по-моему, не сработает. Или придется весь лист блокировать от изменений, или устанавливать заранее блокировку выделенных ячеек. В смысле, сначала снимать блокировку со всех, потом устанавливать, вручную, на красные. Потом ставить защиту на лист. Думаю, речь идет о случайных изменениях, и ТС имел ввиду обычного пользователя, который в процессе случайно выделит и изменит значение ячейки. Не думаю, что найдется злоумышленник вашего уровня знаний и сообразительности, который сделает так, как сделали вы . Так, что оба варианта сработают.
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
22.07.2015, 15:02 |
10 |
Казанский, а так — вставите?
0 |
0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
|
22.07.2015, 17:45 [ТС] |
11 |
Ячейки выделенные красным цветом будут появляться в процессе работы с книгой.
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
22.07.2015, 20:36 |
12 |
esboy21, вы еще не пояснили один момент: это защита от случайного непреднамеренного изменения данных или кто-то будет стараться и искать способы изменить данные в этих ячейках.
0 |
esboy21 0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
||||||
22.07.2015, 21:12 [ТС] |
13 |
|||||
Попробовал вариант .
Но текст в ячейки залитые красным вводится . Вложения
0 |
0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
|
22.07.2015, 21:14 [ТС] |
14 |
chumich, это защита от случайного ввода данных .
0 |
chumich 2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
||||||
22.07.2015, 21:49 |
15 |
|||||
Но текст в ячейки залитые красным вводится У вас другой индекс красного цвета. Замените 3 на 2.
И еще одна трудность с условным форматированием диапазона ячеек. Не совсем понял, но у меня вроде скопировалось с сохранением форматирования. Вложения
0 |
0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
|
22.07.2015, 23:40 [ТС] |
16 |
chumich, на примере первой даты в таблице
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
23.07.2015, 02:15 |
17 |
Посмотрите этот вариант. Вам ничего не нужно копировать и вставлять. Просто введите в ячейку А14 следующее число, всё остальное сделается само. Затем в А25 — проверите выходные. И т. д.
0 |
2079 / 1232 / 464 Регистрация: 20.12.2014 Сообщений: 3,237 |
|
23.07.2015, 02:22 |
18 |
Забыл написать: после ввода числа нажмите Enter. И еще — первую таблицу не удаляйте. Без нее работать не будет.
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
23.07.2015, 08:04 |
19 |
Ячейки выделенные красным цветом будут появляться в процессе работы с книгой. так что тут никак не сработает .Interior.ColorIndex…
0 |
0 / 0 / 0 Регистрация: 14.02.2015 Сообщений: 104 |
|
23.07.2015, 21:07 [ТС] |
20 |
chumich, Протестировал последний вариант . Если ввожу дату вручную с клавиатуры и нажимаю Enter то ничего не добавляется ниже в таблице. Можно ли сделать так чтобы привязать процесс добавления строк с новой датой к нажатию кнопки ?
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
23.07.2015, 21:07 |
Помогаю со студенческими работами здесь Выделение текста в ячейке цветом по дате и значению Редактирование текста по разделам по определенным параметрам Макрос удаления текста выделенной области, удовлетворяющего заданному условию Макрос разбивки текста в ячейке Возникло непреодалимое желание разбить текст в 1 ячейке на несколько ячеек. Текс =… Выделить часть текста цветом в ячейке по шаблону на всем листе(не пустые ячейки) Макрос — удаление текста между символами в ячейке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |
Содержание
- Метод Worksheet.Protect (Excel)
- Синтаксис
- Параметры
- Замечания
- Поддержка и обратная связь
- Запрет на редактирование ячеек excel vba
- Запрет на редактирование ячеек excel vba
- Запрет на редактирование ячеек excel vba
Метод Worksheet.Protect (Excel)
Защищает лист, чтобы его нельзя было изменить.
Синтаксис
expression. Защита (Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables )
Выражение Переменная, представляющая объект Worksheet .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Password | Необязательный | Variant | Строка, указывающая пароль для листа или книги с учетом регистра. Если этот аргумент опущен, можно снять защиту листа или книги, не используя пароль. В противном случае необходимо указать пароль для отмены защиты листа или книги. Если вы забыли пароль, вы не сможете снять защиту листа или книги. |
Используйте надежные пароли, содержащие строчные и прописные буквы, цифры и знаки. В слабых паролях эти элементы не комбинируются. Надежный пароль: Y6dh!et5. Слабый пароль: House27. Длина паролей должна быть не меньше 8 символов. В парольной фразе лучше использовать 14 или более символов.
Очень важно запомнить пароль. Если вы его забудете, корпорация Майкрософт не сможет его восстановить. Храните пароли, записанные на бумаге, в безопасном месте вдали от информации, которую они защищают. DrawingObjects Необязательный Variant Значение true для защиты фигур. Значение по умолчанию — True. Contents Необязательный Variant Значение true для защиты содержимого. Для диаграммы это защищает всю диаграмму. Для листа это защищает заблокированные ячейки. Значение по умолчанию — True. Scenarios Необязательный Variant Значение true для защиты сценариев. Этот аргумент действителен только для листов. Значение по умолчанию — True. UserInterfaceOnly Необязательный Variant Значение true для защиты пользовательского интерфейса, но не макросов. Если этот аргумент опущен, защита применяется как к макросам, так и к пользовательскому интерфейсу. AllowFormattingCells Необязательный Variant Значение True позволяет пользователю форматировать любую ячейку на защищенном листе. Значение по умолчанию — False. AllowFormattingColumns Необязательный Variant Значение True позволяет пользователю форматировать любой столбец на защищенном листе. Значение по умолчанию — False. AllowFormattingRows Необязательный Variant Значение True позволяет пользователю форматировать любую строку на защищенном листе. Значение по умолчанию — False. AllowInsertingColumns Необязательный Variant Значение True позволяет пользователю вставлять столбцы на защищенный лист. Значение по умолчанию — False. AllowInsertingRows Необязательный Variant Значение True позволяет пользователю вставлять строки на защищенный лист. Значение по умолчанию — False. AllowInsertingHyperlinks Необязательный Variant Значение True позволяет пользователю вставлять гиперссылки на защищенный лист. Значение по умолчанию — False. AllowDeletingColumns Необязательный Variant Значение True позволяет пользователю удалять столбцы на защищенном листе, где каждая ячейка удаляемого столбца разблокирована. Значение по умолчанию — False. AllowDeletingRows Необязательный Variant Значение True позволяет пользователю удалять строки на защищенном листе, где каждая ячейка в удаляемой строке разблокирована. Значение по умолчанию — False. AllowSorting Необязательный Variant Значение True позволяет пользователю выполнять сортировку на защищенном листе. Каждая ячейка в диапазоне сортировки должна быть разблокирована или не защищена. Значение по умолчанию — False. AllowFiltering Необязательный Variant Значение True позволяет пользователю задавать фильтры на защищенном листе. Пользователи могут изменять условия фильтра, но не могут включать или отключать автоматический фильтр. Пользователи могут задавать фильтры для существующего автофильтра. Значение по умолчанию — False. AllowUsingPivotTables Необязательный Variant Значение True позволяет пользователю использовать отчеты сводной таблицы на защищенном листе. Значение по умолчанию — False.
Замечания
В предыдущих версиях, если применить этот метод с аргументом UserInterfaceOnly , равным True , а затем сохранить книгу, при повторном открытии книги будет полностью защищен весь лист (а не только интерфейс). Чтобы повторно включить защиту пользовательского интерфейса после открытия книги, необходимо снова применить этот метод, если параметр UserInterfaceOnly имеет значение True.
Если вы хотите внести изменения в защищенный лист, можно использовать метод Protect на защищенном листе, если указан пароль. Кроме того, другой метод — снять защиту листа, внести необходимые изменения, а затем снова защитить лист.
Незащищено означает, что ячейка может быть заблокирована (диалоговое окно Форматирование ячеек ), но включена в диапазон, определенный в диалоговом окне Разрешить пользователям изменять диапазоны , и пользователь отключил защиту диапазона паролем или был проверен с помощью разрешений NT.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Запрет на редактирование ячеек excel vba
Книга находится в общем доступе. Пять листов (то же самое, что в пустой книге добавить кликом пару штук к имеющимся трем).
Имена листов (обращение к листам по именам):
1. «Лист1» нужно запретить редактировать пользователю строки 1:9, но оставить возможность макросу внести изменение в ячейку.
2. «Лист2» и «Лист4» тоже самое.
3. На листе «Лист3» нужно запретить диапазон «A2:G5», но так же оставить возможность макросу что-то вносить в ячейки.
4. Оставить без защиты «Лист5».
Для обычной книги проще, а для книги, которой нужен режим общего доступа — не выходит сделать. Нужна парольная защита.
Видел пару макросов, удобны, но ненадежны до тех пор, пока макросы еще не разрешены к выполнению.
Книга находится в общем доступе. Пять листов (то же самое, что в пустой книге добавить кликом пару штук к имеющимся трем).
Имена листов (обращение к листам по именам):
1. «Лист1» нужно запретить редактировать пользователю строки 1:9, но оставить возможность макросу внести изменение в ячейку.
2. «Лист2» и «Лист4» тоже самое.
3. На листе «Лист3» нужно запретить диапазон «A2:G5», но так же оставить возможность макросу что-то вносить в ячейки.
4. Оставить без защиты «Лист5».
Для обычной книги проще, а для книги, которой нужен режим общего доступа — не выходит сделать. Нужна парольная защита.
Видел пару макросов, удобны, но ненадежны до тех пор, пока макросы еще не разрешены к выполнению.
Сообщение Книга находится в общем доступе. Пять листов (то же самое, что в пустой книге добавить кликом пару штук к имеющимся трем).
Имена листов (обращение к листам по именам):
1. «Лист1» нужно запретить редактировать пользователю строки 1:9, но оставить возможность макросу внести изменение в ячейку.
2. «Лист2» и «Лист4» тоже самое.
3. На листе «Лист3» нужно запретить диапазон «A2:G5», но так же оставить возможность макросу что-то вносить в ячейки.
4. Оставить без защиты «Лист5».
Для обычной книги проще, а для книги, которой нужен режим общего доступа — не выходит сделать. Нужна парольная защита.
Видел пару макросов, удобны, но ненадежны до тех пор, пока макросы еще не разрешены к выполнению.
Источник
Запрет на редактирование ячеек excel vba
Предположим, у вас есть рабочий лист, и только определенный диапазон пустых ячеек требует ввода данных, и после завершения ввода данных вам нужно, чтобы ячейки были автоматически заблокированы, чтобы предотвратить повторные изменения. Как вы можете этого добиться? Эта статья может вам помочь.
Например, определенный диапазон пустых ячеек — A1: F8. Чтобы заблокировать эти ячейки после ввода данных в Excel, сделайте следующее.
1. Сначала разблокируйте этот диапазон, выберите ячейки и щелкните правой кнопкой мыши, затем выберите Формат ячеек в контекстном меню и в Формат ячеек диалоговое окно, сняв флажок Заблокированный поле под защиту вкладка и, наконец, щелкнув OK кнопка. Смотрите скриншот:
2. Нажмите Обзор > Защитить лист. И укажите пароль для защиты этого рабочего листа.
3. Щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код из контекстного меню. Затем скопируйте и вставьте приведенный ниже код VBA в окно кода. Смотрите скриншот:
Код VBA: блокировка или защита ячеек после ввода или ввода данных
Внимание: В коде «A1: F8» — это диапазон, который вам нужен для ввода данных; и «123» — пароль этого защищенного рабочего листа. Пожалуйста, измените их по своему усмотрению.
4. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
После завершения ввода данных в ячейки диапазона A1: F8 они будут заблокированы автоматически. И вы получите диалоговое окно с запросом, если попытаетесь изменить содержимое любой ячейки этого диапазона. Смотрите скриншот:
Office Tab — Tabbed Browsing, Editing, and Managing of Workbooks in Excel:
Office Tab brings the tabbed interface as seen in web browsers such as Google Chrome, Internet Explorer new versions and Firefox to Microsoft Excel. It will be a time-saving tool and irreplaceble in your work. See below demo:
Источник
Запрет на редактирование ячеек excel vba
Необходимо, чтобы при попытке изменения пользователем одной из ячеек листа, проверялось некоторое условие, и, если результат — FALSE, выводился соответствующий MesageBox, и изменения не происходило.
И еще в догонку. Как сделать, чтобы значение ячеки можно было изменять с помощью макроса, и не мог изменять пользователь?
От: | ma3ai | |
Дата: | 08.07.03 08:03 | |
Оценка: |
Здравствуйте, ILY, Вы писали:
а может просто format cells->protection->locked=true потом tools->protection->protect sheet ?
От: | ILY | |
Дата: | 08.07.03 08:45 | |
Оценка: |
Здравствуйте, ma3ai, Вы писали:
M>[vb]
M>Worksheet_Change(ByVal Target As Range) ‘где Target и есть изменённая ячейка
M>if Target.Value = 0 then
M>msgbox «и шо ты тут творишь ?»
M>end if
Не понял
В этом коде ты проверяешь, если пользователь ввел в ячейку 0, то выводится MesasgeBox, «типа Нельзя 0 вводить». Так?
Ну это понятно, а как вернуть старое значение измененной пользователем ячейки?
Locked программно Excel исправить мне не дал, ну это и понятно, иначе бы вся защит сходила на нет, если бы ее можно было макросом обойти.
От: | SiNick | |
Дата: | 08.07.03 09:23 | |
Оценка: |
Здравствуйте, ILY, Вы писали:
ILY>Здравствуйте, ma3ai, Вы писали:
ILY>Не понял
ILY>В этом коде ты проверяешь, если пользователь ввел в ячейку 0, то выводится MesasgeBox, «типа Нельзя 0 вводить». Так?
ILY>Ну это понятно, а как вернуть старое значение измененной пользователем ячейки?
ILY>Locked программно Excel исправить мне не дал, ну это и понятно, иначе бы вся защит сходила на нет, если бы ее можно было макросом обойти.
Может тогда так:
От: | ILY | |
Дата: | 08.07.03 09:29 | |
Оценка: |
Здравствуйте, SiNick, Вы писали:
SN>Может тогда так:
SN>
Уже лучше, спасибо. Наверное так и сделаю
Но все-равно как-то коряво. Неужели это не настолько распространенная проблема, чтбы в Visual Basic были средства для ее решения. Скажем, OnChange мог бы передавать также и старое значение измененной ячейки.
Источник
Запрет на редактирования записи |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |