Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 09:49   #1
roborrr
Математик
Форумчанин
 
Регистрация: 27.02.2011
Сообщений: 123
По умолчанию Защита содержимого ячеек от изменении

ячейки содержат некую информацию как сделать программно так чтоб если изменят некоторые из них то в них сразу вписалось собственные первоначальние значения
roborrr вне форума Ответить с цитированием
Старый 25.04.2011, 11:02   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

а не проще ли поставить защиту на лист - чтобы пользователи просто не могли изменить значения определённых ячеек?

зачем мудрить с макросами?
EducatedFool вне форума Ответить с цитированием
Старый 25.04.2011, 11:30   #3
roborrr
Математик
Форумчанин
 
Регистрация: 27.02.2011
Сообщений: 123
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
а не проще ли поставить защиту на лист - чтобы пользователи просто не могли изменить значения определённых ячеек?

зачем мудрить с макросами?
Книга содержит много кодов и будет необходимо начать все коды, после открытия листа, командой Activesheet. Unprotect и перед его закрытием заканчивать командой Activesheet. Protect. Так что существование такой программы решил бы мне эту проблему.

Последний раз редактировалось roborrr; 25.04.2011 в 11:35.
roborrr вне форума Ответить с цитированием
Старый 25.04.2011, 12:29   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от roborrr Посмотреть сообщение
Книга содержит много кодов и будет необходимо начать все коды, после открытия листа, командой Activesheet. Unprotect и перед его закрытием заканчивать командой Activesheet. Protect. Так что существование такой программы решил бы мне эту проблему.

как то так можно , но грабли могут какие нибудь выплыть
в модуль листа
Код:
Dim tmp
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
Target.Value = tmp
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
tmp = Target.Value
End Sub
да прикольно получилось , обычным способом данные невозможно удалить

есть одно но, если копируется диапазон данных, и вставляется то проходит изменение ячейки
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 25.04.2011 в 13:09. Причина: Личный комент
R Dmitry вне форума Ответить с цитированием
Старый 25.04.2011, 13:01   #5
roborrr
Математик
Форумчанин
 
Регистрация: 27.02.2011
Сообщений: 123
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
как то так можно , но грабли могут какие нибудь выплыть
в модуль листа
Код:
Dim tmp
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
Target.Value = tmp
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
tmp = Target.Value
End Sub
спасибоб работаетб я не знал об SelectionChange
roborrr вне форума Ответить с цитированием
Старый 25.04.2011, 13:11   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от roborrr Посмотреть сообщение
спасибоб работаетб я не знал об SelectionChange

есть одно но, если копируется диапазон данных, и вставляется то проходит изменение ячейки
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из ячеек при изменении параметров и переход на следующую строчку. AMRAAM Microsoft Office Excel 6 23.04.2011 21:57
Как обйти защиту макросов, защита от копирования содержимого ворд MarabounT Microsoft Office Word 4 20.09.2010 09:47
Удаление содержимого соседних ячеек после ввода данных. KOSTIK1 Microsoft Office Excel 3 29.12.2009 16:53
Быстрое удаление содержимого ячеек gadspider Microsoft Office Excel 11 18.07.2009 12:08
Обработка содержимого ячеек - отчистка от мусора Bromista Microsoft Office Excel 10 17.04.2009 11:39