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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.06.2008, 07:02   #11
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Мысль интересная. Только где сохранять? В каких-то ячейках - плохо. Если работа ведется на одном компьютере, то сохранять введенное значение можно в виде ключа в специально созданной ветви реестра Windows. И еще такой момент: что делать, если ошибочно было введено неверное значение?
Все, конечно, решается, но по-моему, все-таки проще при первом вводе значения (т.е. если ячейка была пуста), по событию Worksheet_Change защитить лист, оставив (если нужно) возможность делать все, кроме изменения этой ячейки. Посвященный (знающий пароль), при необходимости всегда может изменить ее значение.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 18.06.2008, 08:24   #12
Wasily
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
тут такая мысль пришла
если Wasily нужно ввести дату только один раз
"повесить" это дело на, допустим, Worksheet_SelectionChange
и записать введенное значение в коде VBA. (
Если будет свободная минута может придумаете?))
Wasily вне форума
Старый 18.06.2008, 08:43   #13
Wasily
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 12
По умолчанию

SAS888, VictorM по сути верно и замечательно))) а как бы это сделать, хотя бы в подробном алгоритме?)))
Wasily вне форума
Старый 18.06.2008, 09:23   #14
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Да вот пробовал вчера, чёт никак, знаний видать не хватает (.
А алгоритм такой:
При запуске рабочей книги ячейка с датой пустая и поэтому в ней разрешено произвести изменения, т.е. ввести значение.
Это значение записывается в коде VBA как значение этой ячейки.
В дальнейшем - если ячейка непустая, или запрет на ее редактирование или чтение записанного значения из кода.
Где-то так.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 18.06.2008, 09:51   #15
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот ЗДЕСЬ нашел следующее:
Цитата:
Для того, чтобы запретить изменение данных более чем в одной ячейке, разместите событие Worksheet_Change в модуле нужного рабочего листа
Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
    If Target.Count > 1 Then 
       With Application 
            .EnableEvents = False 
            .Undo 
            .EnableEvents = True 
       End With 
    End If 
End Sub
правда здесь говорится более чем об одной ячейке, но это как раз то, что нужно сделать после того как в ячейке появилось значение
А вот как это все применить....? (
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 18.06.2008, 10:12   #16
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Я так понял, что автору темы нужно как раз все разрешить, кроме изменения в конкретной ячейке. Вот что я придумал (см. вложение).
Попробуйте ввести значение в ячейку "G5". После этого, можно будет делать все, включая удаление и добавление строк и столбцов, кроме изменения данных в этой ячейке. При явном обращении к ячейке такое сделать невозможно.
Вложения
Тип файла: rar Cell_Loc.rar (7.1 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 18.06.2008, 10:17   #17
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

В 7 посте все сказано, чего еще проще, эта так похоже с моим файлом, все везде запрещено, кроме такого-то диапазона, мало того, в свойсте файла все прописано:
Создан: 1 июня 2008 г.. 21:07:30
Изменен: 18 июня 2008 г.. 9:00:33
Открыт: 18 июня 2008 г.. 9:00:33
valerij вне форума
Старый 18.06.2008, 10:26   #18
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

valerij, это не совсем такая задача. Дело как раз в том, что нужно все разрешить, кроме одной ячейки. Когда
Цитата:
все везде запрещено, кроме такого-то диапазона
тогда проще.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всем добрый день, прошу помощи :) Brian Lee Jones Фриланс 4 19.06.2008 19:18
Добрый день, уважаемые, нужна ваща помощь Ботег Общие вопросы C/C++ 1 19.05.2008 18:06
Старый добрый тетрис Format C: Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 05.07.2007 16:02