VBA cut-paste диапазон данных

Я пытаюсь сделать большой объем генетических данных, немного более разборчивым в Excel, используя VBA. Я пытаюсь вырезать и вставить каждые 7 ячеек, которые имеют данные, после 15-го столбца, и опустить их под Столбцами 8-15.
Пример того, что мне нужно, находится на картинке. Пример данных (RAW vs What i need it to look like) как вы можете видеть по коду, реальные данные немного больше. (В 680 строк и более 100 столбцов.)

Когда я пытаюсь запустить код, это не удается, когда он идет, чтобы вставить диапазон данных в новую строку. (ошибка 1004)

Код у меня есть:

Sub ShiftRows()

    Dim codingCol, startCol As Integer

    Dim LastRow As Integer
    Dim CurrentRow As Integer
    Dim LastCol, BeginCol As Integer
    Dim CurrentInsertRow As Integer


    LastRow = 2

    For CurrentRow = 680 To LastRow Step -1
        LastCol = 15
        Do While Cells(CurrentRow, LastCol) <> ""
        LastCol = LastCol + 1
        Loop

    CurrentInsertRow = CurrentRow

    For BeginCol = 0 To ((LastCol - 15) / 7) - 1

        CurrentInsertRow = CurrentInsertRow + 1
        Rows(CurrentRow).Offset(1).Insert shift:=xlShiftDown
        Range(Cells(CurrentRow, 15 + (BeginCol * 7)).Address & ":" & Cells(CurrentRow, 15 + (BeginCol * 7) + 6).Address).Cut
        Range("H:N" & CurrentInsertRow).Paste

        Next BeginCol
    Next CurrentRow
End Sub

2 ответа

  1. Ссылка на ячейку "H:N" & CurrentInsertRow, или H:N2 например, это неполный. Пытаться:

    Range("H" & CurrentInsertRow & ":N" & CurrentInsertRow).Paste
    
  2. Диапазон.Cut позволяет указать диапазон вставки после него. Попробуйте что-то вроде:

    Range("A1:A3").Cut Range("B10")
    

    Где вы подставляете мои значения диапазона для тех, которые вы хотите.