对于循环功能

时间:2016-12-22 03:27:35

标签: excel vba excel-vba

我只需要在循环列中提供帮助。应将每个细胞转移到不同的柱中,但是以3个空细胞的间隔重复3次,然后从源柱中重复下一个细胞,依此类推。

输出应如下所示:

Output

我相信For循环可以用来做这个,但我很难编码。任何人都可以帮忙吗?

Dim row As Long

For row = 1 To 3

    Cells(row + 1, 3).Value = [A2]

Next row

我很难在其上添加3个空单元格的间隔并移动到源列上的下一个单元格。

3 个答案:

答案 0 :(得分:1)

这只是基本的循环,我希望这会让你开始,所以你可以尝试自己做更多这种代码..

Dim lastrow As Long
Dim i As Long

 lastrow = Cells(Rows.Count, 1).End(xlUp).row
 For i = 1 To lastrow
     Cells(i + j, 3).Resize(3).Value = Cells(i, 1).Value
     j = j + 5
 Next

答案 1 :(得分:0)

如果没有VBA可以实现这一目标

=IF(MOD(ROW()-1,6)<3,INDEX(A:A,INT((ROW()-1)/6)+1),"")

答案 2 :(得分:0)

有点不同的代码,我希望这有帮助。

Dim LastRow, i As Long

LastRow = ActiveCell.SpecialCells(xlCellTypeLastCell).Row

For i = 2 To LastRow
    Cells(6 * (i - 2) + 2, 3).Resize(3).Value = Cells(i, 1).Value
Next