Copy-Paste-Find-Replace (weekly update)
I don't see the need to find a specific row number.  Simply work your way down until you reach the current week.
The key to reducing repeat code is to extract it to it's own method.
Refactored Code
Sub UpdateWeeklyReports()
    Application.ScreenUpdating = False
    Const WorksheetName As String = &quot;Sheet1&quot;
    Const FirstWeekNumberRow As Long = 3
    Dim LastWeek As Range
    Dim What As String, Replacement As String
    With Worksheets(WorksheetName)
        Dim Row As Long
        For Row = FirstWeekNumberRow + 1 To  Format(Now, &quot;WW&quot;) - 1
            If Not .Cells(Row, 3).HasFormula Then
                ' What = &quot;sem &quot; &amp; .Cells(Row - 1, 2).Value
                ' Replacement = &quot;sem &quot; &amp; .Cells(Row, 2).Value
                AddNewRow SourceRange:=.Rows(Row - 1).Range(&quot;C1:J1&quot;), What:=What, Replacement:=Replacement
                AddNewRow SourceRange:=.Rows(Row - 1).Range(&quot;M1:T1&quot;), What:=What, Replacement:=Replacement
                AddNewRow SourceRange:=.Rows(Row - 1).Range(&quot;W1:AD1&quot;), What:=What, Replacement:=Replacement
            End If
        Next
    End With
End Sub

Private Sub AddNewRow(ByVal SourceRange As Range, ByVal What As String, ByVal Replacement As String)
    With SourceRange
        .Offset(1).Formula = .Formula
        .Offset(1).Replace What:=What, Replacement:=Replacement, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    End With
End Sub