powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Числа всех понедельников в году
5 сообщений из 5, страница 1 из 1
Числа всех понедельников в году
    #32934796
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго Вам времени суток
Уважаемые господа


при наличии времени прошу Вас помочь

как мне получить
числа всех понедельников в году

т.е. мне необхадимо

числа всех понедельников в январе месяце, далее в феврале и т.д. до декабря

но нужный мне год, я буду указывать сам

С Уважением и благодарностью Намик
...
Рейтинг: 0 / 0
Числа всех понедельников в году
    #32935281
Создаешь 1ое января через DateSerial(yyyy, 1,1), затем цикл — проверяешь день недели через Weekday, если это понедельник то выписываешь куда тебе надо, затем добавляешь один день, если год сменился то выходим из цикла.
Короче говоря, примерно так (не тестировал):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim dt as Date
dt = DateSerial(MyYear,  1 ,  1 )
Do
    If Weekday(dt) =  2  Then
        Debug.Print FormatDateTime(dt, vbShortDate)
    End If
    dt = DateAdd("d",  1 , dt)
Loop Until Year(dt) <> MyYear
...
Рейтинг: 0 / 0
Числа всех понедельников в году
    #32936272
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
огромное Вам спасибо
все работает как надо

простите

при наличии времени
может подскажите

Ваш код работает с настройками английскими
и поэтому 2 = понедельник

как проверить какая настройка
и дать ей свою
чтобы понедельник был 1

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
Числа всех понедельников в году
    #32938616
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Namik
как проверить какая настройка
и дать ей свою
чтобы понедельник был 1
2-й параметр метода Weekday
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Command1_Click()
    Dim dt As Date
    dt = DateSerial("2005",  1 ,  1 )
    Do
        If Weekday(dt, vbMonday) =  1  Then
            Debug.Print FormatDateTime(dt, vbShortDate)
        End If
        dt = DateAdd("d",  1 , dt)
    Loop Until Year(dt) <> "2005"

End Sub
...
Рейтинг: 0 / 0
Числа всех понедельников в году
    #32939364
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никита
Алексей

большое Вам спасибо

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Числа всех понедельников в году
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]