Сравнение дат и времени с прибавлением
Гордей
Дата: Среда, 20.03.2019, 00:19 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Приветствую! У самого не получилось найти решение, поэтому прошу помощи в макросе: в ячейке есть текстовые данные вида "18/03 Mo", где 18 число, 03 месяц и Mo - понедельник (Время предполагаем 00:00:00). Каким кодом можно сравнить эти значения с текущими датой и временем? Нужно так, чтобы сравнивалось, прошли ли сутки и 4 часа после указанной в ячейке даты. Примеры: а)в ячейке "18/03 Mo", если текущая дата 19/03 04:00, то значение ДА, если меньше - то НЕТ б) в ячейке "12/06 We", если текущая дата 12/06 23:55:10, то НЕТ в) в ячейке "12/06 We", если текущая дата 13/06 03:55:55, то НЕТ Добавил файлик с примером
Приветствую! У самого не получилось найти решение, поэтому прошу помощи в макросе: в ячейке есть текстовые данные вида "18/03 Mo", где 18 число, 03 месяц и Mo - понедельник (Время предполагаем 00:00:00). Каким кодом можно сравнить эти значения с текущими датой и временем? Нужно так, чтобы сравнивалось, прошли ли сутки и 4 часа после указанной в ячейке даты. Примеры: а)в ячейке "18/03 Mo", если текущая дата 19/03 04:00, то значение ДА, если меньше - то НЕТ б) в ячейке "12/06 We", если текущая дата 12/06 23:55:10, то НЕТ в) в ячейке "12/06 We", если текущая дата 13/06 03:55:55, то НЕТ Добавил файлик с примером Гордей
Сообщение отредактировал Гордей - Среда, 20.03.2019, 00:46
Ответить
Сообщение Приветствую! У самого не получилось найти решение, поэтому прошу помощи в макросе: в ячейке есть текстовые данные вида "18/03 Mo", где 18 число, 03 месяц и Mo - понедельник (Время предполагаем 00:00:00). Каким кодом можно сравнить эти значения с текущими датой и временем? Нужно так, чтобы сравнивалось, прошли ли сутки и 4 часа после указанной в ячейке даты. Примеры: а)в ячейке "18/03 Mo", если текущая дата 19/03 04:00, то значение ДА, если меньше - то НЕТ б) в ячейке "12/06 We", если текущая дата 12/06 23:55:10, то НЕТ в) в ячейке "12/06 We", если текущая дата 13/06 03:55:55, то НЕТ Добавил файлик с примером Автор - Гордей Дата добавления - 20.03.2019 в 00:19
_Boroda_
Дата: Среда, 20.03.2019, 00:29 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
текстовые данные вида "18/03 Mo"
Где они в файле? Сколько их - одно или несколько? Как реально расположены (если несколько)?
текстовые данные вида "18/03 Mo"
Где они в файле? Сколько их - одно или несколько? Как реально расположены (если несколько)?_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение текстовые данные вида "18/03 Mo"
Где они в файле? Сколько их - одно или несколько? Как реально расположены (если несколько)?Автор - _Boroda_ Дата добавления - 20.03.2019 в 00:29
Гордей
Дата: Среда, 20.03.2019, 00:31 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Дата будет на листе одна и в ячейке A2, листов будет много, для каждого листа макрос будет исполняться отдельно.
Дата будет на листе одна и в ячейке A2, листов будет много, для каждого листа макрос будет исполняться отдельно.Гордей
Сообщение отредактировал Гордей - Среда, 20.03.2019, 00:32
Ответить
Сообщение Дата будет на листе одна и в ячейке A2, листов будет много, для каждого листа макрос будет исполняться отдельно.Автор - Гордей Дата добавления - 20.03.2019 в 00:31
_Boroda_
Дата: Среда, 20.03.2019, 00:35 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Из танка вылезайте Смотреть нужно как там что написано и действительно ли это текст. А Вы не показываете
Из танка вылезайте Смотреть нужно как там что написано и действительно ли это текст. А Вы не показываете _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Из танка вылезайте Смотреть нужно как там что написано и действительно ли это текст. А Вы не показываете Автор - _Boroda_ Дата добавления - 20.03.2019 в 00:35
_Boroda_
Дата: Среда, 20.03.2019, 00:40 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Так? [vba]Код
If CDate(Left(Range("A2"), 5)) + 1 + #4:00:00 AM# < Now Then x_ = "Да" Else x_ = "Нет" End If Range("B2") = x_
[/vba]
Так? [vba]Код
If CDate(Left(Range("A2"), 5)) + 1 + #4:00:00 AM# < Now Then x_ = "Да" Else x_ = "Нет" End If Range("B2") = x_
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так? [vba]Код
If CDate(Left(Range("A2"), 5)) + 1 + #4:00:00 AM# < Now Then x_ = "Да" Else x_ = "Нет" End If Range("B2") = x_
[/vba] Автор - _Boroda_ Дата добавления - 20.03.2019 в 00:40
Гордей
Дата: Среда, 20.03.2019, 00:47 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Вот ,подправил файл, как в оригинале. В ячейку A1 нужно помещать значение ДА или НЕТ по результату.. Update: Вау.. только я готовил правленый файл, а Вы, уважаемый Борода, уже написали нужный код... спасибо!!! не, не так. вот так: СПА СИ Б О!!!
Вот ,подправил файл, как в оригинале. В ячейку A1 нужно помещать значение ДА или НЕТ по результату.. Update: Вау.. только я готовил правленый файл, а Вы, уважаемый Борода, уже написали нужный код... спасибо!!! не, не так. вот так: СПА СИ Б О!!! Гордей
Сообщение отредактировал Гордей - Среда, 20.03.2019, 00:50
Ответить
Сообщение Вот ,подправил файл, как в оригинале. В ячейку A1 нужно помещать значение ДА или НЕТ по результату.. Update: Вау.. только я готовил правленый файл, а Вы, уважаемый Борода, уже написали нужный код... спасибо!!! не, не так. вот так: СПА СИ Б О!!! Автор - Гордей Дата добавления - 20.03.2019 в 00:47
Гордей
Дата: Среда, 20.03.2019, 00:57 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
вот ещё такой момент: при смене года (1-го января 2020) данные по 2019-му году уже не обрабатываются. Файлы носят имя формата 2019-03.xlsb (YYYY-MM.xlsb и так по каждому месяцу и году), как можно это в макросе учесть для корректной проверки файла? Update: прикрепил файл от декабря 2018-го года
вот ещё такой момент: при смене года (1-го января 2020) данные по 2019-му году уже не обрабатываются. Файлы носят имя формата 2019-03.xlsb (YYYY-MM.xlsb и так по каждому месяцу и году), как можно это в макросе учесть для корректной проверки файла? Update: прикрепил файл от декабря 2018-го года Гордей
Сообщение отредактировал Гордей - Среда, 20.03.2019, 01:42
Ответить
Сообщение вот ещё такой момент: при смене года (1-го января 2020) данные по 2019-му году уже не обрабатываются. Файлы носят имя формата 2019-03.xlsb (YYYY-MM.xlsb и так по каждому месяцу и году), как можно это в макросе учесть для корректной проверки файла? Update: прикрепил файл от декабря 2018-го года Автор - Гордей Дата добавления - 20.03.2019 в 00:57
_Boroda_
Дата: Среда, 20.03.2019, 01:39 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Не совсем понял. Так? [vba]Код
If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
[/vba] И, кстати, у Вас все даннай для заполнения А2 есть, можно формулой заполнятьКод
=--ПОДСТАВИТЬ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("[";ЯЧЕЙКА("filename";A2))+1;99);".xlsm]";"-")
И формат ячейки[$-9]ДД/ММ ДДД
Не совсем понял. Так? [vba]Код
If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
[/vba] И, кстати, у Вас все даннай для заполнения А2 есть, можно формулой заполнятьКод
=--ПОДСТАВИТЬ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("[";ЯЧЕЙКА("filename";A2))+1;99);".xlsm]";"-")
И формат ячейки[$-9]ДД/ММ ДДД _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Не совсем понял. Так? [vba]Код
If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
[/vba] И, кстати, у Вас все даннай для заполнения А2 есть, можно формулой заполнятьКод
=--ПОДСТАВИТЬ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("[";ЯЧЕЙКА("filename";A2))+1;99);".xlsm]";"-")
И формат ячейки[$-9]ДД/ММ ДДД Автор - _Boroda_ Дата добавления - 20.03.2019 в 01:39
Гордей
Дата: Среда, 20.03.2019, 01:47 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
Дааааа! Элегантно и просто! Я уже сделал, но у меня супер-коряво получилось.. Вот так: ' a = Left(Range("A2"), 5) + "/" ' n = ActiveWorkbook.Name ' n = Split(n, "-", -1) ' d = a + n(0) ' If CDate(d) + 1 + #4:00:00 AM# < Now Then Специально оставлю эти строчки с апострофами в коде как памятник пословице "Век живи - век учись" СПАСИБО ещё раз Вам, Александр!
If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
Дааааа! Элегантно и просто! Я уже сделал, но у меня супер-коряво получилось.. Вот так: ' a = Left(Range("A2"), 5) + "/" ' n = ActiveWorkbook.Name ' n = Split(n, "-", -1) ' d = a + n(0) ' If CDate(d) + 1 + #4:00:00 AM# < Now Then Специально оставлю эти строчки с апострофами в коде как памятник пословице "Век живи - век учись" СПАСИБО ещё раз Вам, Александр!Гордей
Ответить
Сообщение If CDate(Left(Range("A2"), 5) & "/" & Left(ThisWorkbook.Name, 4)) + 1 + #4:00:00 AM# < Now Then
Дааааа! Элегантно и просто! Я уже сделал, но у меня супер-коряво получилось.. Вот так: ' a = Left(Range("A2"), 5) + "/" ' n = ActiveWorkbook.Name ' n = Split(n, "-", -1) ' d = a + n(0) ' If CDate(d) + 1 + #4:00:00 AM# < Now Then Специально оставлю эти строчки с апострофами в коде как памятник пословице "Век живи - век учись" СПАСИБО ещё раз Вам, Александр!Автор - Гордей Дата добавления - 20.03.2019 в 01:47
_Boroda_
Дата: Среда, 20.03.2019, 01:56 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Только в теги все это безобразие засуньте И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ...
Только в теги все это безобразие засуньте И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ... _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Только в теги все это безобразие засуньте И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ... Автор - _Boroda_ Дата добавления - 20.03.2019 в 01:56
Гордей
Дата: Среда, 20.03.2019, 02:14 |
Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ...
Нет, там макросы всё делают. Была проблема только в сравнении дат ) Спасибо!
И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ...
Нет, там макросы всё делают. Была проблема только в сравнении дат ) Спасибо!Гордей
Ответить
Сообщение И я выше дописал еще - чую, что Вы ячейку А2 вручную заполняете ...
Нет, там макросы всё делают. Была проблема только в сравнении дат ) Спасибо!Автор - Гордей Дата добавления - 20.03.2019 в 02:14
_Boroda_
Дата: Среда, 20.03.2019, 07:55 |
Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Если макросы, то почему дни недели везде одинаковые?
Если макросы, то почему дни недели везде одинаковые? _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Если макросы, то почему дни недели везде одинаковые? Автор - _Boroda_ Дата добавления - 20.03.2019 в 07:55
Гордей
Дата: Среда, 20.03.2019, 11:53 |
Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Если макросы, то почему дни недели везде одинаковые?
Так файлы с кучей страниц, инфы и макросов, урезал всё до сути проблемы..
Если макросы, то почему дни недели везде одинаковые?
Так файлы с кучей страниц, инфы и макросов, урезал всё до сути проблемы..Гордей
Ответить
Сообщение Если макросы, то почему дни недели везде одинаковые?
Так файлы с кучей страниц, инфы и макросов, урезал всё до сути проблемы..Автор - Гордей Дата добавления - 20.03.2019 в 11:53