Як використовувати функцію weekday у vba (з прикладом)


Ви можете використовувати функцію Weekday у VBA, щоб отримати день тижня (як ціле число) від заданої дати.

Ось поширений спосіб використання цієї функції на практиці:

 Sub FindWeekday()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
    Next i
    
End Sub

Цей конкретний макрос знайде день тижня (як ціле число) для кожної дати в діапазоні A2:A9 і відобразить результати в діапазоні B2:B9 .

Зверніть увагу, що наступні цілі числа відповідають кожному дню тижня:

  • 1 : неділя
  • 2 : понеділок
  • 3 : вівторок
  • 4 : середа
  • 5 : четвер
  • 6 : п’ятниця
  • 7 : субота

У наступному прикладі показано, як використовувати функцію Weekday на практиці.

Примітка : якщо ви віддаєте перевагу повернути день тижня як назву, замість цього слід використовувати функцію WeekdayName.

Приклад. Використовуйте функцію Weekday у VBA, щоб знайти день тижня

Припустімо, що в Excel є такий стовпець дати:

Припустімо, ми хочемо отримати день тижня (як ціле число) для кожної дати та відобразити результати в стовпці B.

Для цього ми можемо створити такий макрос:

 Sub FindWeekday()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
    Next i
    
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

У стовпці B відображається день тижня (як ціле число) для кожної дати в стовпці A.

Наприклад:

  • 01.01.2023 – неділя, тому функція Weekday повертає 1 .
  • 04.01.2023 – середа, тому функція Weekday повертає 4 .
  • 23.02.2023 — четвер, тому функція Weekday повертає 5 .

І так далі.

Примітка . Ви можете знайти повну документацію для функції VBA Weekday тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

Як порівняти дати у VBA
Як перетворити дату на номер тижня у VBA
Як обчислити дні між двома датами у VBA

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *