我试图制作大量的遗传数据,使用VBA在Excel中更易读。我试图在第15列之后剪切并粘贴每个有数据的7个单元格,然后将它们放在8-15列下面。 我需要的例子包括在图片中。 DATA EXAMPLE(RAW vs我需要的样子)正如你可以从代码中看到的那样,真实的数据要大一些。 (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
答案 0 :(得分:0)
您的单元格引用为"H:N" & CurrentInsertRow
,或者H:N2,例如,这是不完整的。尝试:
Range("H" & CurrentInsertRow & ":N" & CurrentInsertRow).Paste
答案 1 :(得分:0)
Range.Cut允许您指定后面的粘贴范围。尝试类似:
Range("A1:A3").Cut Range("B10")
您可以将我的范围值替换为您想要的范围值。