Vba: як перетворити дату на номер тижня


Ви можете використовувати такий базовий синтаксис у VBA, щоб перетворити дату на номер тижня:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

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

Зауважте, що метод VBA WeekNum передбачає, що тижні починаються з неділі.

Щоб указати інший день як початок тижня, ви можете додати другий аргумент до методу WeekNum :

 Sub FindWeekNumber()
    
    Dim i As Integer

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

У наведеному нижче прикладі показано, як на практиці використовувати метод WeekNum для перетворення дат на номери тижнів.

Приклад: конвертуйте дату в номер тижня у VBA

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

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

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

 Sub FindWeekNumber()
    
    Dim i As Integer

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

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

VBA перетворює дату на номер тижня

У стовпці B відображається номер тижня для кожної дати в стовпці A, припускаючи, що тиждень починається в неділю.

Якщо ви хочете вказати інший день як початок тижня, наприклад понеділок, ви можете використовувати такий синтаксис:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

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

У стовпці B тепер відображається номер тижня для кожної дати в стовпці B, припускаючи, що тижні починаються з понеділка.

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

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

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

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

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

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