H o l a:
Te anexo un par de macro para que revises cuál te funciona mejor.
Según tu imagen, la fecha la tienes en la columna D, y quieres la semana en la A, el mes en la B y el día en la C.
Macro1, el número de semana se considera empezando la semana en domingo, si quieres que el número se considere empezando la semana en lunes, cambia en esta línea de la macro el número 1 por un número 2
.Formula = "=WEEKNUM(RC[3],1)"
Sub Semana1()
'Por.Dante Amor
u = Range("D" & Rows.Count).End(xlUp).Row
With Range("A2:A" & u)
.Formula = "=WEEKNUM(RC[3],1)"
.Value = .Value
End With
With Range("B2:B" & u)
.Formula = "=month(RC[2])"
.Value = .Value
End With
With Range("C2:C" & u)
.Formula = "=day(RC[1])"
.Value = .Value
End With
Columns("A:C").NumberFormat = "General"
MsgBox "Fin"
End Sub
Macro2:
De igual forma si quieres que se considere empezando en lunes, cambia el número 1 por el 2 en esta línea:
Cells(i, "A") = WorksheetFunction.WeekNum(Cells(i, "D"), 1)
Sub Semana2()
'Por.Dante Amor
For i = 2 To Range("D" & Rows.Count).End(xlUp).Row
Cells(i, "A") = WorksheetFunction.WeekNum(Cells(i, "D"), 1)
Cells(i, "B") = Month(Cells(i, "D"))
Cells(i, "C") = Day(Cells(i, "D"))
Next
Columns("A:C").NumberFormat = "General"
MsgBox "Fin"
End Sub
‘
F e l i z A ñ o N u e v o . Recuerda valorar la respuesta. G r a c i a s