Avoid 'select' and 'activate' in VBA.

Sub snb()
  Range("D2").Copy Range("F2:G2")
  with Range("F2:G2")
    .FormulaR1C1 ="=IF(OR(MID(RC4,3,1)=""."",MID(RC4,3,1)=""-"",MID(RC4,3,1)=""/""),RIGHT(RC4,4),IF(OR(MID(RC4,5,1)=""."",MID(RC4,5,1)=""-"",MID(RC4,5,1)=""/""),LEFT(RC4,4),""""))"
     .AutoFill .resize(cells(rows.count,1).end(xlup).row-1)
     with .resize(cells(rows.count,1).end(xlup).row-1)
       .value=.value
     end with
  end with
End Sub