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

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

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

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

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

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

Кстати, автор вопроса не оговаривает, что нужно делать в случае ввода в ячейку данных, не являющихся датой. Оставлять как есть? Кричать "караул"? Молча запрещать? и т.п.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 11.01.2010, 12:52   #12
Volodshan
Форумчанин
 
Регистрация: 20.05.2008
Сообщений: 241
По умолчанию

Был вопрос: "Как сделать так, чтобы я набирал на клавиатуре 20070701 и после нажатия Enter, у меня автоматически проставились точки 2007.07.01". Уточнение - "07.01" - где месяц, где число? Региональные настройки: Россия, Беларусь, Британия, Украина, офис какой?.. Последоватальность ввода... Форматы полей...
Volodshan вне форума
Старый 11.01.2010, 12:54   #13
antfrolov
Пользователь
 
Регистрация: 05.04.2008
Сообщений: 11
По умолчанию

О, получилось!
Прошу прощение, у меня были отключены макросы.

Цитата:
Кстати, автор вопроса не оговаривает, что нужно делать в случае ввода в ячейку данных, не являющихся датой. Оставлять как есть? Кричать "караул"? Молча запрещать? и т.п.
Подобного фильтра принципиально не нужно, но было бы хорошо, если бы ячейка например, выделялась красным цветом, если я ввёл не 20070512, а 2070512. То есть если я ошибся при вводе даты.

Заранее большое спасибо!!!
antfrolov вне форума
Старый 11.01.2010, 13:44   #14
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Теперь ячейки с ошибочными значениями подсвечиваются:



Вот весь код:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Or Target.Cells.Count > 1 Then Exit Sub
    txt = Target.Value2: On Error Resume Next
    If txt Like "########" Then
        newdate = DateSerial(Left$(txt, 4), Mid$(txt, 5, 2), Right$(txt, 2))
        If IsDate(newdate) Then
            Application.EnableEvents = False
            If Year(newdate) > 1960 And Year(newdate) < 2050 Then Target = newdate
            Application.EnableEvents = True
        End If
    End If
    If Len(txt) = 0 Then Target.Interior.ColorIndex = 0: Exit Sub
    Select Case True
        Case Target = newdate: Target.Interior.Color = vbGreen
        Case IsNumeric(txt): Target.Interior.Color = vbYellow
        Case Else: Target.Interior.Color = vbRed
    End Select
End Sub
EducatedFool вне форума
Старый 11.01.2010, 16:11   #15
antfrolov
Пользователь
 
Регистрация: 05.04.2008
Сообщений: 11
По умолчанию

А как этот код прикрутить в файлу? Простите, я с excel абсолютно незнаком
antfrolov вне форума
Старый 11.01.2010, 17:15   #16
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
А как этот код прикрутить в файлу?
Вообще-то, код уже "прикручен". Скачиваете файл, и пользуетесь, не забыв включить макросы.

Если надо засунуть код в свой файл, делаете следующее:
  1. Копируем код в буфер обмена
  2. Правой кнопкой по ярлычку листа
  3. Выбираем пункт ИСХОДНЫЙ ТЕКСТ
  4. В открывшееся окно вставляем код
  5. Не забываем сохранить файл
EducatedFool вне форума
Старый 11.01.2010, 17:18   #17
antfrolov
Пользователь
 
Регистрация: 05.04.2008
Сообщений: 11
По умолчанию

Спасибо огромное!
antfrolov вне форума
Старый 12.01.2010, 17:43   #18
kopeysk6
Новичок
Джуниор
 
Регистрация: 12.01.2010
Сообщений: 1
По умолчанию

ребята подскажите пожалуйста как в эксель ввести текущую дату из биоса или еще как то!!!
kopeysk6 вне форума
Старый 12.01.2010, 19:12   #19
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от kopeysk6 Посмотреть сообщение
ребята подскажите пожалуйста как в эксель ввести текущую дату из биоса или еще как то!!!
Формулой: =СЕГОДНЯ()
Макросом: [a1] = Now
EducatedFool вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата okpb Microsoft Office Excel 5 19.05.2009 07:27
Дата Bigtyoma Общие вопросы Delphi 18 24.12.2008 22:03
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев stanislav24 Microsoft Office Excel 5 20.12.2008 10:36
Дата Iskin Microsoft Office Excel 6 10.10.2008 12:41
Дата werser Общие вопросы Delphi 1 05.06.2008 22:45