我需要根据单行创建多个Excel行。例如,我目前每个人员都有一行,并且有几十列已经分组了#34;可以这么说。所以说列K是它自己的组,然后列M,N,O是一个组,P,Q,R,是一个组等。我需要那一行成为多行 - 每列一行一行。所以目前的情况是:
1 | Smith, John | Column K | Column M | Column N | Column O | Column P | Column Q| Column R
我需要成为:
1 | Smith, John | Column K
2 | Smith, John | Blank | Column M | Column N | Column O
3 | Smith, John | Blank | Blank | Blank | Blank | Column P | Column Q | Column R
答案 0 :(得分:0)
这是一个解决方案。你可能会更聪明地做数学。我现在不能。 ;)
Sub splitRows()
Dim i As Integer
With Sheets(1)
For i = 2 To (.UsedRange.Columns.Count / 3)
.Range(Cells(i, 1), Cells(i, 3)).Value = .Range(Cells(1, 1), Cells(1, 3)).Value
.Range(Cells(i, (i - 1) * 3 + 1), Cells(i, (i - 1) * 3 + 3)).Value = .Range(Cells(1, (i - 1) * 3 + 1), Cells(1, (i - 1) * 3 + 3)).Value
Next
End With
End Sub
这仅适用于总是有三列组的工作表。如果没有,则必须更改.UsedRange.Columns.Count / 3
部分。
干杯。