Range("A" & i+2 : "D" i+7).Select  
aber das funktioniert nicht, er ist von dem ":" verwirrt 
 
Weil die Syntax nicht ganz stimmt. 
Dir sollte bekannt sein, das in Programmiersprachen all das, was zwischen zwei Anführungszeichen " (oder Apostroph ' ) steht, ein String-Literal darstellt. 
  
Frage: Steht der Doppelpunkt innerhalb oder außerhalb eines String-Literals? 
Antwort: Außerhalb; deshalb auch die dir angezeigte Meldung. 
 
Richtig: 
Set rng = Range("A" & i & ":D" & i) 'z.B. A1002:D1002
oder 
'eine Zeile, 4 Spalten
Set rng = Range("A" & i).Resize(1, 4) 'z.B. A1002 -> A1002:D1002
'6 Zeile, 4 Spalten
Set rng = Range("A" & i).Resize(6, 4) 'z.B. A1002 -> A1002:D1007
  
     |