for 文内のiがいくつなのか、カウントしたらどうなるのかを考えてみると単純な話で、実際にカウントしていきますと。
GoogleAppScript
11回目
2sheet2.getRange(1+6, 1, 1, 3).copyTo(sheet3.getRange(1+6, 1))
32回目
4sheet2.getRange(1+7, 1, 1, 3).copyTo(sheet3.getRange(1+7, 1))
53回目
6sheet2.getRange(1+8, 1, 1, 3).copyTo(sheet3.getRange(1+8, 1))
7
これがどこのRangeをとっているか。A1:C2表記でみてみますと。
GoogleAppScript
11回目
2sheet2.getRange('A7:C7').copyTo(sheet3.getRange('A7'))
32回目
4sheet2.getRange('A8:C8').copyTo(sheet3.getRange('A8')
53回目
6sheet2.getRange('A9:C9').copyTo(sheet3.getRange('A9'))
7
となります。
まずは、getRange元とcopyTo先を同じ位置にしたくなければ違う変数を使うところからですね。
あとpapinianus様をおっしゃっているとおり
for文の中に.getRange.copyToやら.getValue.setValueはデータ件数が少ない前提ならいいですが。
そうじゃないのであればいずれ実行時間問題行きつきますので要注意です。