Excel-拆分列表

Excel-拆分列表,excel,excel-2007,vba,Excel,Excel 2007,Vba,我有一个大约300个项目的列表,我需要每8个单元格间隔一次,而不是一个接一个。我相信有一个简单的方法可以做到这一点,但是我的大脑让我失望。我觉得我的术语很伤人,所以我找不到答案 您能发布一个屏幕截图或添加一些额外的细节吗 我想到了两个可能的解决方案: 1) 使用文本到列(如果这是你要做的)或 2) 在第8列中使用类似于=LEFT(A1,10)的公式并填充(10可以更改为需要分隔的字符串的任何第一部分) 提供一些额外的信息,我会再看看 试试下面的代码 Sub Main() Dim la

我有一个大约300个项目的列表,我需要每8个单元格间隔一次,而不是一个接一个。我相信有一个简单的方法可以做到这一点,但是我的大脑让我失望。我觉得我的术语很伤人,所以我找不到答案


您能发布一个屏幕截图或添加一些额外的细节吗

我想到了两个可能的解决方案:

1) 使用文本到列(如果这是你要做的)或

2) 在第8列中使用类似于=LEFT(A1,10)的公式并填充(10可以更改为需要分隔的字符串的任何第一部分)

提供一些额外的信息,我会再看看

试试下面的代码

Sub Main()


    Dim lastRow As Long
    lastRow = Range("A" & Rows.Count).End(xlUp).Row

    For i = 1 To lastRow
        If i = 1 Then
            Cells(i, 5).Value = Cells(i, 1)
        Else
            Cells((i - 1) * 9, 5).Value = Cells(i, 1)
        End If
    Next

End Sub
输出

=IF(MOD(ROW()+7;8)=0;INDEX(A:A;INT(ROW()/8)+1);"")


鉴于数据从A1开始,公式是从第1行开始使用的(coulmn并不重要)。

我已经添加了一个图片链接,直到获得更多的声誉点数,但我无法以图像格式提供它;(!@JamesInkster您可以根据需要调整
(i-1)*9