I See,

Does the below get you any closer to where you need to be?

Sub CAD_Task_Entry()    
    Dim InstalDescOrig As String, InstalDesc As String
    Dim Model As Range
    Dim Drawing As Range
    Dim Index As Long
    Dim m As Long, n As Long
    Dim wsTEform As Worksheet, wsTaskList As Worksheet
    
    Set wsTEform = Sheets("Task Entry Form")
    Set wsTaskList = Sheets("Task List")
    
    Application.ScreenUpdating = False
    'Copy data from the input screen to the task list.
    InstalDescOrig = wsTEform.Range("D3").Value
    InstalDesc = Replace(InstalDescOrig, " ", "_")
    
    Set Model = wsTEform.Range("D5", Cells(Rows.Count, "D").End(xlUp)).Resize(, 2)
    Set Drawing = wsTEform.Range("I5", Cells(Rows.Count, "I").End(xlUp)).Resize(, 2)
        
    With wsTaskList
        'get first row
        n = .Range("D:X").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        If n = 3 Then n = 4 Else n = n + 2
        'color first row
        .Range("A" & n & ":Z" & n).Interior.Color = 15189684
        .Range("A" & n & ":Z" & n).Font.Bold = True
        .Cells(n, "D") = InstalDescOrig & " Summary"
        .Names.Add Name:=InstalDesc, RefersTo:=.Range("D" & n)
        'The named range has to use D3 on the Task Entry Form, but the actual named range has to appear on the Task List worksheet.
        'Spaces - either condense the words or do underscores, either is fine... would prefer underscores
    End With
    
    Application.ScreenUpdating = True
    
End Sub