Думаю, с Target.Offset(0, 4) = WeekNum
вы пытаетесь использовать встроенную функцию Excel WEEKNUM? Затем вы можете записать номер недели следующим образом:
Option Explicit
Sub showdate()
Dim a As Range
Dim ws As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
Set ws = wb.Worksheets(1)
Set a = ws.Range("A1")
a.Value = WorksheetFunction.WeekNum(Now, vbMonday)
End Sub
Now
- это конкретно дата выполнения, конечно, вы должны заменить его переменной, которая содержит дату, с которой вы хотите работать. Год можно отобразить следующим образом:
Dim b As Range
Set b = ws.Range("A2")
b.Value = Year(Now)
Это дает мне следующий результат: