У меня есть данные в столбцах A: L на Листе 2, и я хочу скопировать каждый блок на основе начальной точки, как определенного текста ячейки и конечной точки, снова как определенного текста ячейки!Данные находятся в столбцах A: L и перемещаются вниз на блок за блоком 
Код, который у меня есть, завершен почти на 100%, но последняя часть, которую я пытаюсь выполнитьэто поместить каждый элемент в определенном порядке на листе назначения.Как мы знаем, столбцы - это A: L. Я хочу вставить свой первый блок в столбцы A: L в месте назначения, затем следующий в M: X, а затем последний в Y: AJ.Поскольку существует около 10 таких блоков, Tank Engine, Weatherman и т. Д. Я предполагаю, что сначала мне понадобятся три блока, а затем около трех рядов, которые являются пробелами, а затем повторяются.
Пример этого

Строки являются динамическими, но их длина не превышает 11.Код, который у меня есть,
Option Explicit
Sub MIKE3()
Dim wsSrc As Worksheet 'define source
Set wsSrc = ThisWorkbook.Worksheets("Sheet1")
Dim wsDest As Worksheet 'define destination
Set wsDest = ThisWorkbook.Worksheets("Sheet2")
Dim FindList As Variant 'defind search words
FindList = Array("Tank Engine")
Dim i As Long
Dim FindItm As Variant
For Each FindItm In FindList
Dim CopyRange As Range
Set CopyRange = FindMyRange(wsSrc.Range("A:L"), FindItm, "INFORMATION: " & FindItm)
If Not CopyRange Is Nothing Then
CopyRange.Copy wsDest.Range("A1").Offset(ColumnOffset:=i) 'note that if the first column uses merged cells the ColumnOffset:=i otherwise it is ColumnOffset:=i*12
i = i + 1
End If
Next FindItm
End Sub
Function FindMyRange(SearchInRange As Range, ByVal StartString As String, ByVal EndString As String) As Range
'find start
Dim FoundStart As Range
Set FoundStart = SearchInRange.Find(What:=StartString, LookAt:=xlWhole)
If FoundStart Is Nothing Then GoTo ERR_NOTHING_FOUND
find end
Dim FoundEnd As Range
Set FoundEnd = SearchInRange.Find(What:=EndString, LookAt:=xlWhole, After:=FoundStart)
If FoundEnd Is Nothing Then GoTo ERR_NOTHING_FOUND
Set FindMyRange = SearchInRange.Parent.Range(FoundStart, FoundEnd).Resize(ColumnSize:=12)
Exit Function'
ERR_NOTHING_FOUND:
FindMyRange = Nothing
End Function
, спасибо PEH за его первоначальную помощь и спасибо за внимание!