vbaシート間のデータを計算してコピー

もちろんです。ソースシートで8行おきにデータがあり、その3行目と6行目の合計を目的シートの開始行からそれぞれ3列目と5列目にセットするようにコードを書き換えます。以下に示すコードは、この要件を満たすように調整されています。

```vba
Sub AggregateAndCopyData()
    Dim sourceSheet As Worksheet
    Dim destinationSheet As Worksheet
    Dim sourceRow As Long
    Dim destRow As Long
    Dim sumRow3 As Double
    Dim sumRow6 As Double
    Dim i As Integer

    ' シートの設定
    Set sourceSheet = ThisWorkbook.Sheets("SourceSheetName") ' ソースシートの名前を設定
    Set destinationSheet = ThisWorkbook.Sheets("DestinationSheetName") ' 目的シートの名前を設定

    sourceRow = 1 ' ソースシートの開始行
    destRow = 5   ' 目的シートの開始行

    ' ソースシートをループ処理
    Do While sourceSheet.Cells(sourceRow, 2).Value <> ""
        ' 3行目の合計を計算
        sumRow3 = 0
        For i = 3 To 14 ' C列は3、N列は14に対応
            sumRow3 = sumRow3 + sourceSheet.Cells(sourceRow + 2, i).Value
        Next i

        ' 6行目の合計を計算
        sumRow6 = 0
        For i = 3 To 14
            sumRow6 = sumRow6 + sourceSheet.Cells(sourceRow + 5, i).Value
        Next i

        ' 目的シートにデータをコピー
        destinationSheet.Cells(destRow, 3).Value = sumRow3 ' 3列目に3行目の合計
        destinationSheet.Cells(destRow, 5).Value = sumRow6 ' 5列目に6行目の合計

        ' 次の行に進む
        sourceRow = sourceRow + 8
        destRow = destRow + 1
    Loop
End Sub
```

このコードを使用する前に、"SourceSheetName" と "DestinationSheetName" を実際のエクセルファイルのシート名に置き換えてください。そして、ExcelVBAエディタに貼り付けて実行します。このコードは、ソースシートの指定された行(3行目と6行目)の各列の合計を計算し、目的シートの指定された列(3列目と5列目)にセットします。