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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2010, 12:36   #1
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 232
Злость =СЕГОДНЯ()

Приветствую всех присутствующих на форуме.
Все записи в таблице Exscel начинаются с ручного ввода даты
(впоследствии по дате выбирается нужная информация )
Попытка автоматизировать запись даты через =СЕГОДНЯ() - приводит к тому, что во вчерашних записях стоит сегодняшнее число.

Как объяснить машине чтобы она запоминала значение функции =СЕГОДНЯ() ?
Спасибо
0mega вне форума Ответить с цитированием
Старый 05.02.2010, 12:47   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Может макросом при открытии книги вносить текущую дату, при условии, что целевая ячейка пустая? Если не пустая - не изменять.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 05.02.2010, 12:55   #3
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 232
По умолчанию

Как создать условие записи даты - на это у меня ума хватит.
Мне бы еще "запомнить " вчерашнюю дату...
Я с макросами на "Вы" и через "Пожалуйста".
нельзя ли обойтись чисто Exscеl-евскими функциями ?
P.S.
Если будут какие-то предложения в файлах - просьба файлы выкладывать в ZIPe

Последний раз редактировалось 0mega; 05.02.2010 в 12:58.
0mega вне форума Ответить с цитированием
Старый 05.02.2010, 13:56   #4
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Попробуйте это в код листа.
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    On Error Resume Next: Application.EnableEvents = False
    Select Case Target.Column
    Case 1 '1  это первый столбец
        Target.EntireRow.Cells(2) = CDate(Format(Now, "DD.MM.YYYY"))  '(2)это второй столбец куда вносится дата
        End Select
    Application.EnableEvents = True
End Sub
После изменений в столбце А вносится дата изменения(то есть сегодня) в столбец В. Подогнать под себя можете изменяя номера столбцов.
P.S. Установив оба значения одинаковыми можно получить дату после двойного клика и ЭНТЕР в нужную ячейку.
Вложения
Тип файла: zip СЕГОДНЯ.zip (8.5 Кб, 20 просмотров)
С Уважением, Костик

Последний раз редактировалось KOSTIK1; 05.02.2010 в 16:21. Причина: Пример
KOSTIK1 вне форума Ответить с цитированием
Старый 20.07.2013, 11:37   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Можно и формулой, но нужно отключить проверку циклических ссылок:

Код:
=ЕСЛИ(ЕПУСТО(B3);СЕГОДНЯ();ЯЧЕЙКА("содержимое"; A3))
для ячейки A3. Дата будет меняться пока в соседней ячейке B3 не будет значения

Аналогично можно сделать, чтобы текущая дата была только в следующей ячейке:

Код:
=ЕСЛИ(B2 <> ""; ЕСЛИ(B3=""; СЕГОДНЯ();ЯЧЕЙКА("содержимое";A3));"")
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 20.07.2013 в 11:44.
DiemonStar вне форума Ответить с цитированием
Старый 20.07.2013, 12:42   #6
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

А можно просто выделить необходимое количество ячеек
Нажать Ctrl+Shift+4 или Ctrl+Ж
После этого нажать Ctrl+Enter
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 20.07.2013, 13:16   #7
tpa
 
Регистрация: 13.07.2013
Сообщений: 9
По умолчанию Условное форматирование

Добрый день. Как в условном форматирование поменять цвет ячейки по истечению года, какую формулу задать?
Вложения
Тип файла: rar Книга1.rar (6.5 Кб, 11 просмотров)
tpa вне форума Ответить с цитированием
Старый 20.07.2013, 13:53   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Условное форматирование
И при чем здесь Ваш вопрос?
текущая тема
Цитата:
=СЕГОДНЯ()
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 20.07.2013, 15:02   #9
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от KOSTIK1 Посмотреть сообщение
Попробуйте это в код листа.
Код:
        Target.EntireRow.Cells(2) = CDate(Format(Now, "DD.MM.YYYY"))
KOSTIK1, а зачем так извращаться? Вы преобразовываете дату в строку, потом назад в дату. Да и Select там - слишком круто. Не проще:
Код:
if target.column=1 then Cells(Target.Row,2) = date
?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 20.07.2013 в 15:07.
kuklp вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уровень значимости Assembler'а сегодня [Kaiser] Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 15 07.09.2007 09:05