С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Иван_777
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 27
1

С помощью цикла определить дату

16.05.2018, 12:33. Просмотров 129. Ответов 3
Метки нет (Все метки)

Привет всем!
Подскажите кто чем может, пожалуйста.

Вручную задается дата (дд.мм.гггг), одновременно с этим имеется колонка где в порядке возрастания указаны даты с периодичность в полгода (+- пара дней), как с помощью цикла определить дату, которая или равна задаваемой или дату после которой задаваемая дата стала больше??

Надеюсь на вашу скорую помощь, всем добра
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2018, 12:33
Ответы с готовыми решениями:

С помощью циклов запросить у пользователя дату, и выдать знак зодиака
В очередной раз прошу вас о помощи. Запросите у пользователя дату рождения,...

Определить ближайшую полную дату-палиндром
Всем доброго времени суток, народ!!! Не могу разобраться со сложным в...

Заполнить дату по двойному клику, ориентируясь на дату в ячейках выше
Здравствуйте, подскажите, пожалуйста как решить такую не простую задачку..... ...

Определить дату, название месяца, квартал, неделю года, день недели
Для заданной даты и определенного значения определить дату, название месяца,...

Определить дату выдачи и сумму (FV), которую вкладчик получит через 2,5 года
Определить дату выдачи и сумму (FV), которую вкладчик получит через 2,5 года...

3
Казанский
14422 / 5968 / 1586
Регистрация: 24.09.2011
Сообщений: 9,402
16.05.2018, 14:08 2
Иван_777, обязательно цикл? Если речь про Excel, то формула
Код
=ВПР(A1;B:B;1)
вернет дату, не превосходящую заданной. Дата задается в яч. А1, колонка дат - столбец В.
0
Иван_777
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 27
16.05.2018, 15:07  [ТС] 3
Нет, мне скрипт написать надо это только часть его
0
Ruella
350 / 132 / 68
Регистрация: 07.10.2015
Сообщений: 305
16.05.2018, 18:12 4
Иван_777, попробуйте что-то типа этого. Условие: диапазон проверяемых дат расположен в столбец и отсортированы по возрастанию. Если у Вас условия другие - переделайте под свои нужды
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Function Find_Date(Searche_Date As Date, Searche_Range As Range) As Date
Dim cel As Range, x As Date
 
For Each cel In Searche_Range
    If cel.Value = Searche_Date Then
        Find_Date = cel.Value
        Exit Function
    End If
    If cel.Value > Searche_Date Then
        If cel.Row = 1 Then
            Find_Date = cel.Value
        Else
            Find_Date = cel.Offset(-1, 0).Value
        End If
        Exit Function
    End If
Next cel
Find_Date = Searche_Range(Searche_Range.Rows.Count)
 
End Function
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2018, 18:12

Почему не срабатывает изменение границы цикла, принятое внутри цикла?
Работает цикл for-Next V_Rod = UBound(Rod, 2) For j = 1 To V_Rod ...

Изменение начального положения цикла внутри этого цикла
есть два маппинга в одном 180000 строк в другом 85000 нужно один прогнать по...

По введенному выражению в ячейку определить, является ли оно числом с помощью функции IsNumeric
1. Создать блок-схему алгоритма (письменно – в Word или от руки). 2. Создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru