Примерно так:
[vba]Код
Sub insertColumns()
Dim rng1 As Range
Dim rngItogo As Range
Dim rngInsert As Range
Dim povtorov As Integer
Set rng1 = Range("B:D")
Set rngItogo = Range("H:J")
povtorov = 5
Set rngInsert = rngItogo.Resize(, rng1.Columns.Count * povtorov)
rngInsert.Insert
Set rngInsert = rngInsert.Offset(, -rng1.Columns.Count * povtorov)
rng1.Copy rngInsert
End Sub
[/vba]
Т.е. всё по аналогии с ручными действиями: вставляем перед "Итого" нужное количество пустых столбцов, кратное кол-ву столбцов блока 1, и далее копируем блок 1 в эти пустые стобцы.