将项目单元格以10个为一组移动到另一列

我有一列Excel中的项目全部在1列(D6:D1000 +)

我正在尝试创build一个macros,将项目移到下一列右侧的15个组中。

所以D6:D21停留在那里,然后D22:D37移动到E6:E21,D38:D53移动到F6:F21,等等…

我发现一些代码从谷歌search,我给了下面的代码前,但我得到一个越界的错误。

Sub SplitInto15CellsPerColumn() Dim X As Long, LastRow As Long, vArrIn As Variant, vArrOut As Variant LastRow = Cells(Rows.Count, "D").End(xlUp).Row vArrIn = Range("D6:D" & LastRow) ReDim vArrOut(1 To 15, 1 To Int(LastRow / 15) + 1) For X = 0 To LastRow - 1 vArrOut(1 + (X Mod 15), 1 + Int(X / 15)) = vArrIn(X + 1, 1) Next Range("B1").Resize(15, UBound(vArrOut, 2)) = vArrOut End Sub 

 For X = 0 To LastRow - 1 

你应该使用

 For X = 0 To LastRow - 6 

由于你的源表在6开始。

另外,检查(通过做MsgBox LastRow),你确实得到了正确的LastRow值