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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2018, 13:29   #1
Serg960
Новичок
Джуниор
 
Регистрация: 06.06.2018
Сообщений: 3
По умолчанию Как ограничить ввод данных в ячейку определенной датой?

Уважаемые специалисты!
Подскажите, как сделать следующее:
- есть обычная таблица, в которую вносятся простые числовые данные (0,1,2,3,...)
- необходимо, чтобы в разные ячейки было установлено разное ограничение ввода данных по датам. Т.е. для примера - в эту ячейку нельзя ввести данные после 8-го июня 2018. В следующую - после 15 инюня. И т.д.

Спасибо.
Serg960 вне форума Ответить с цитированием
Старый 06.06.2018, 14:19   #2
boa
Новичок
Джуниор
 
Аватар для boa
 
Регистрация: 15.08.2008
Сообщений: 2
По умолчанию

Не могу загрузить файл, но
в диапазоне "D3:O9" размещена сама таблица
а во 2-й строке даты ограничивающие ввод.

В модуль листа впишите следующий код
Код:
Option Explicit
Dim OldValue

Sub Worksheet_SelectionChange(ByVal Target As Range)
    OldValue = Target.Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("D3:O9")) Is Nothing Then Exit Sub
    If Selection.Count <> 1 Then ActiveCell.Select: Exit Sub
    Application.EnableEvents = False
    If Cells(2, Target.Column).Value < Date Then Target.Value = OldValue
    Application.EnableEvents = True
End Sub
ну и конечно макросы должны быть включены
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость... Мигель Сервантес де Сааведра
boa вне форума Ответить с цитированием
Старый 06.06.2018, 14:21   #3
Serg960
Новичок
Джуниор
 
Регистрация: 06.06.2018
Сообщений: 3
По умолчанию

Спасибо, попробую.
Serg960 вне форума Ответить с цитированием
Старый 06.06.2018, 14:26   #4
boa
Новичок
Джуниор
 
Аватар для boa
 
Регистрация: 15.08.2008
Сообщений: 2
По умолчанию

пожалуй измените
Код:
Sub Worksheet_SelectionChange(ByVal Target As Range)
    OldValue = ActiveCell.Value
End Sub
что бы не было путаницы при выделении нескольких ячеек
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость... Мигель Сервантес де Сааведра
boa вне форума Ответить с цитированием
Старый 06.06.2018, 14:34   #5
Serg960
Новичок
Джуниор
 
Регистрация: 06.06.2018
Сообщений: 3
По умолчанию

Спасибо
Serg960 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ограничить ввод букв в Еdit С++? yurok25 Помощь студентам 1 28.11.2012 12:48
Как в TEdit ограничить ввод чисел? XerSon Общие вопросы Delphi 8 08.06.2010 11:50
Как отобразить ячейку с датой? AK BULLETS Общие вопросы Delphi 0 18.05.2010 11:20
Как ограничить ввод? alsq Общие вопросы Delphi 8 24.03.2007 14:30