Будний день VBA

Функция дня недели Excel VBA

Будний день в VBA это функция даты и времени, которая используется для определения дня недели заданной даты, предоставленной в качестве входных данных, эта функция возвращает целочисленное значение в диапазоне от 1 до 7, для этой функции предоставляется необязательный аргумент, который является первым днем недели, но если мы не указываем первый день недели, то функция по умолчанию принимает воскресенье как первый день недели.

Можем ли мы узнать номер дня недели, взглянув на конкретную дату? Да, мы можем указать номер дня этой недели, в зависимости от начального дня недели. В обычных функциях рабочего листа у нас есть функция под названием ДЕНЬ НЕДЕЛИ в Excel, которая сообщает номер недели для определенной даты. В VBA тоже есть такая же функция, чтобы найти то же самое.

Будний день VBA

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой
Например:
Источник: VBA Weekday (wallstreetmojo.com)

Что делает функция «День недели»?

Функция дня недели возвращает номер дня указанной даты на неделе. Например, если у вас есть даты 01ул. с апреля по 07й Апрель и если вы хотите знать день даты 05й Апрель, если день начала недели с понедельника, это 5й день.

Чтобы найти это, у нас есть та же функция, что и «День недели» на листе, а также в VBA. Ниже приведен синтаксис функции.

Формула дня недели VBA

Дата: Для какой даты мы пытаемся найти день недели. Это должна быть правильная дата в правильном формате.

[First Day of Week]: Для определения дня недели предоставленного Дата, мы должны упомянуть, что является первым днем ​​недели. По умолчанию VBA считает «понедельник» начальным днем ​​недели. Кроме того, мы также можем предоставить указанные ниже дни.

Константа дня недели VBA

Примеры

Вы можете скачать этот шаблон Excel функции VBA WeekDay здесь — Шаблон Excel функции VBA WeekDay

Пример №1

Чтобы начать разбирательство, позвольте мне начать с простого примера. Теперь попробуем найти день недели для даты «10-Апреля-2019».

Шаг 1: Определите переменную как строку

Код:

Sub Weekday_Example1()

    Dim k As String

End Sub
Пример рабочего дня VBA 1
Шаг 2: Присвойте значение переменной

Присвойте значение переменной «k», применив функцию ДЕНЬНЕД.

Код:

Sub Weekday_Example1()

    Dim k As String

    k = Weekday(

End Sub
Пример рабочего дня VBA 1-1
Шаг 3: введите дату в функцию

Дата, которую мы тестируем здесь, — «10 апреля 2019 года», поэтому укажите дату как «10 апреля 2019 года».

Код:

Sub Weekday_Example1()

    Dim k As String

    k = Weekday("10-Apr-2019"

End Sub
Пример рабочего дня VBA 1-2
Шаг 4: Показать значение переменной в MsgBox

По умолчанию первый день недели принимается как «понедельник», поэтому игнорируйте эту часть. Закройте скобу. В следующей строке показано значение переменной «k» в Окно сообщения VBAОкно сообщений VBAФункция VBA MsgBox — это функция вывода, которая отображает обобщенное сообщение, предоставленное разработчиком. Этот оператор не имеет аргументов, и персонализированные сообщения в этой функции записываются в двойных кавычках, а для значений предоставляется ссылка на переменную.читать далее.

Код:

Sub Weekday_Example1()

    Dim k As String

    k = Weekday("10-Apr-2019")

    MsgBox k

End Sub
День Пример 1-3

Хорошо, мы закончили.

Если мы запустим код, мы получим результат «4», потому что, начиная с воскресенья, указанная дата (10 апреля 2019 г.) приходится на 4 число.й день недели.

Примечание: Начальный день недели в моей системе — «воскресенье».

Пример рабочего дня VBA 1-4

Точно так же, если вы измените начальный день недели, он будет меняться. Ниже приведен пример строки для того же самого.

Код:

k = Weekday("10-Apr-2019", vbMonday)

‘This returns 3

k = Weekday("10-Apr-2019", vbTuesday)

‘This returns 2

k = Weekday("10-Apr-2019", vbWednesday)

‘This returns 1

k = Weekday("10-Apr-2019", vbThursday)

‘This returns 7

k = Weekday("10-Apr-2019", vbFriday)

‘This returns 6

k = Weekday("10-Apr-2019", vbSaturday)

‘This returns 5

k = Weekday("10-Apr-2019", vbSunday)

‘This returns 4

Пример № 2. Прибытие вне зависимости от того, выпадает ли дата на выходные или нет

Предположим, у вас есть дата, как показано ниже, и вы хотите найти дату следующего выходного дня, тогда мы можем использовать функцию WEEKDAY для получения результатов.

Вторник Пример 2

Нам нужно использовать WEEKDAY с условием IF и циклами, чтобы получить результат. Я написал код для вас, чтобы пройти построчно, чтобы получить логику.

Код:

Sub Weekend_Dates()

    Dim k As Integer

    For k = 2 To 9

        If Weekday(Cells(k, 1).Value, vbMonday) = 1 Then
             Cells(k, 2).Value = Cells(k, 1) + 5
        ElseIf Weekday(Cells(k, 1).Value, vbMonday) = 2 Then
             Cells(k, 2).Value = Cells(k, 1) + 4
        ElseIf Weekday(Cells(k, 1).Value, vbMonday) = 3 Then
             Cells(k, 2).Value = Cells(k, 1) + 3
        ElseIf Weekday(Cells(k, 1).Value, vbMonday) = 4 Then
             Cells(k, 2).Value = Cells(k, 1) + 2
        ElseIf Weekday(Cells(k, 1).Value, vbMonday) = 5 Then
             Cells(k, 2).Value = Cells(k, 1) + 1
        Else
             Cells(k, 2).Value = "This is actually the weekend Date"
        End If

    Next k

End Sub
День Пример 2-1

Это приведет к результатам ниже.

Пример рабочего дня VBA 2-2

Посмотрите на ячейки B6 и B7. Мы получили результат «На самом деле это дата выходного дня», потому что даты «04 мая 2019 года» и «06 апреля 2019 года» на самом деле являются датами выходного дня, поэтому нет необходимости указывать дату выходного дня для выходных дней. По умолчанию мы получаем такой результат.

УЗНАТЬ БОЛЬШЕ >>

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.