Здравствуйте, подскажите, как сделать, чтобы дата прописывалась, в зависимости от времени печати? Например я печатаю документ 23.02.2020 в 23:00, то дата (=сегодня()) будет 23.02.2020, а мне нужно, чтобы дата была 24.02.2020. Но если я печатаю документ 24.02.2020 в 00:00, то дата должна оставаться 24.02.2020. То есть мне нужно чтобы в зависимости от времени распечатывания документа (с 20:00 - до 00:00) указывалась дата (=сегодня()+1), а если печать документа (с 0:00 до 08:00) указывалась дата (=сегодня()). То есть в любом случае мне нужно получить 24.02.2020.
глория написал: как сделать, чтобы дата прописывалась, в зависимости от времени печати?
Здравствуйте! Как-то так:
Код
Sub Дата()
Dim dДата As Date
If Time > #8:00:00 PM# And Time < #11:59:59 PM# Then
dДата = Format(Now + 1, "DD.MM.YYYY")
Else
dДата = Format(Now, "DD.MM.YYYY")
End If
MsgBox dДата, vbInformation
End Sub
А нельзя просто прописать формулу типа "ЕСЛИ текущее время от 20-00 до 23-59, то Сегодня()+1, в противном случае Сегодня()" в любую ячейку, чтобы не заморачиваться с макросами. Не могу сама такую прописать, не хватает знаний. Сама смогла придумать только две кнопки на листе: "текущая (сегодня()" и "след. дата (сегодня()+1", которые при нажатии заполняют мне одну и ту же ячейку. Но это не удобно, хотелось бы автоматизировать. Загрузить книгу не могу, большой размер. Адрес ячейки : Лист1 В5
Здравствуйте, в прошлый раз я не все условия учла и абра кадабра получилась :
Нужно заполнить ячейку С7 (лист1) датой по условиям, при массовой печати с автозаполнением (листа1) из таблицы (лист2) Книга2.xlsm(36.89 КБ) : 1) ЕСЛИ (ЧАС(ТДАТА()) >20 и (лист2) f2-f28 > 20:00, то СЕГОДНЯ() 2) ЕСЛИ (ЧАС(ТДАТА()) >0 и (лист2) f2-f28 > 20:00, то СЕГОДНЯ()-1 3) ЕСЛИ (ЧАС(ТДАТА()) >0 и (лист2) f2-f28 > = 00:00, то СЕГОДНЯ() 4) ЕСЛИ (ЧАС(ТДАТА()) >20 и (лист2) f2-f28 > = 00:00, то СЕГОДНЯ()+1
Возможно это все уместить в одной формуле, для одной ячейки? Например рабочая смена с 20:00 27.02.20 до 08:00 28.02.20.
По таблице лист2: 1 маршрут Фомин должен начать грузиться в 22:00 27.02.20 Если документы на него распечатать вечером 27.02.20, то должна указываться дата 27.02.20 (сегодня()) А если печать ночью, после 0:00, то тоже должна быть дата 27.02.20, но это уже будет (сегодня()-1)
2 маршрут Безъязыков должен начать грузиться в 03:00 28.02.20 Если печатать его вечером 27.02.20, то должна быть дата 28.02.20 (сегодня()+1) А если печатать ночью, после 0:00, то тоже должна быть дата 28.02.20, но это уже будет (сегодня()) И все это в одной ячейке листа1 С7
Так как печать массовая, то все даты должны подбираться автоматически.
глория, если никто формулу не предложит (не представляю, как формула будет определять, какой маршрут и водитель в данный момент выводятся в документе на печать) вставьте в пример макрос, на который ссылается Ваша кнопка Печать АКПР... Он в Вашей книге по пути: 'C:\Users\User\Downloads\собираю на работу ТЕМПЕРАТУРНИКИ\САМЫЕ НОВЫЕ\Температурники ночные.xlsm'!Опросник Я думаю, дату в ячейку С7 необходимо формировать вместе с формированием документа на печать, а не в виде статичной формулы в ячейке.
Не поняла, в таблицу добавить столбец с этой формулой? А из него уже заполнять С7 на 1 листе? Или как? И почему L2?
Цитата
aequit написал: вставьте в пример макрос, на который ссылается Ваша кнопка Печать АКПР...
Скинуть полный документ не могу, много весит, а в этом много формул не хватает. Макрос на кнопку печать:
Скрытый текст
Скрытый текст
Sub опросник() Dim intF As Integer intF = MsgBox("Можный,v Реганто, края добавлены в список?", vbYesNo + vbDefaultButton2 + vbInformation, "Подтверждение") If intF = vbNo Then MsgBox "Ошибка" & vbNewLine & _ "Отмена печати", vbCritical + vbOKOnly Exit Sub Else iCount = Application.InputBox("Введи количество маршрутов:") If iCount = "" Or iCount < 1 Then MsgBox "Ошибка" & vbNewLine & _ "Отмена печати", vbCritical + vbOKOnly Exit Sub End If With Sheets("Лист1") .Visible = True For I = 1 To iCount .Range("J2").Value = I .PrintOut Next .Visible = False End With MsgBox "Печать завершена", vbInformation + vbOKOnly End If Sheets("Лист2").Select End Sub
В настоящей книге ячейка J2 (лист1) перелистывает номера маршрутов (лист2 столбец1), а из сторок заполняются данные на листе1 и выводится на печать. Не представляю как тут можно еще и выбор даты сделать на С7. Книга с заполнением 1 листа (через ВПР) Книга2.xlsm(37 КБ)
глория написал: Скинуть полный документ не могу, много весит, а в этом много формул не хватает.
Скиньте первый лист с формулами, можно удалить остальные листы. Лист2 с исходными данными в примере уже есть, он не нужен. Заархивируйте, если много весит или в облако положите и сюда ссылку.
Проблема в том, что форма на листе1 - картинка в настоящей книге, и именно она много весит. Но как выглядит форма вы видели. Я удаляю картинки, останутся только заполненные ячейки. И ячейка с датой теперь В5. 12.xlsm(33.04 КБ)
L7 был как пример дополнительного столбца на листе Лист2, чтобы растянуть и увидеть, как в зависимости от времени меняется и дата. Во вновь выложенном файле у Вас в ячейку Лист1!E8 подтянуто время погрузки, поэтому в формулу можно подставить эту ячейку, т.е. в ячейку Лист1!C7
Код
=СЕГОДНЯ()+ОКРУГЛ((ЧАС(ТДАТА())-ЧАС(E8))/24;0)
PS. Пока писал, Вы выложили новый файл, но суть та же - в ячейку Лист1!B5
Я поняла, как это сделать!!!!! Помогите с помощью регулярки сделать столбец, который будет вытаскивать из столбца F дату.
Цитата
Alec Perle написал: Во вновь выложенном файле у Вас в ячейку Лист1!E8 подтянуто время погрузки, поэтому в формулу можно подставить эту ячейку, т.е. в ячейку Лист1!C7Код ? 1=СЕГОДНЯ()+ОКРУГЛ((ЧАС(ТДАТА())-ЧАС(E8))/24;0)
Вы ГЕНИЙ ! Работает !!! Ура-ура! А еще мне тут в голову мысль пришла, что дату можно было регуляркой выдергивать из столбца F на листе2, как на данный момент выдергивается время погрузки в ячейку G Но не факт, что график отгрузки всегда будет приходить в таком виде, бывает и без даты... Всем огромное спасибо! Завтра на работе протестирую
глория написал: А еще мне тут в голову мысль пришла, что дату можно было регуляркой выдергивать из столбца F на листе2, как на данный момент выдергивается время погрузки в ячейку G
И не зависимо от того какого числа грузятся маршруты и во сколько я их распечатаю (ночью или вечером) в ячейке G54 (лист1) должна быть дата начала рабочей смены (в данном случае28.02.20).12.xlsm(36.12 КБ)
И не зависимо от того какого числа грузятся маршруты и во сколько я их распечатаю (ночью или вечером) в ячейке G54 (лист1) должна быть дата начала рабочей смены (в данном случае28.02.20).12.xlsm (36.12 КБ)