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

时间:2017-03-26 22:22:12

标签: excel vba

我在Excel中有一长串项目列表(D6:D1000 +)

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

所以D6:D21停留在那里,然后D22:D37应该移动到E6:E21,D38:D53移动到F6:F21,依此类推......

我从google搜索中找到了一些代码,我之前提供了以下代码,但是我发现了一个超出范围的错误。

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

1 个答案:

答案 0 :(得分:1)

For X = 0 To LastRow - 1

你应该使用

For X = 0 To LastRow - 6

由于您的源表以6开头。

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